Просмотр исходного кода

Minor typing consistency

tags/2.0.0
Rocketsoup 1 месяц назад
Родитель
Сommit
659bb7a4fe

+ 1
- 1
rocketbot/cogs/basecog.py Просмотреть файл

@@ -203,7 +203,7 @@ class BaseCog(Cog):
203 203
 		else:
204 204
 			context.last_warned = datetime.now()
205 205
 
206
-	def record_warnings(self, members: list):
206
+	def record_warnings(self, members: list[Member]):
207 207
 		"""
208 208
 		Records that mods have been warned about some members and do not need to
209 209
 		be warned about them again for a short while.

+ 2
- 1
rocketbot/cogs/gamescog.py Просмотреть файл

@@ -1,5 +1,6 @@
1 1
 import math
2 2
 import random
3
+from typing import Any
3 4
 
4 5
 from discord import Interaction, UnfurledMediaItem
5 6
 from discord.app_commands import Range, command, guild_only
@@ -149,7 +150,7 @@ class _MinesweeperLayout(LayoutView):
149 150
 		container = Container(section, accent_color=0xff0000)
150 151
 		self.add_item(container)
151 152
 
152
-def listed_items(items: list) -> str:
153
+def listed_items(items: list[Any]) -> str:
153 154
 	if len(items) == 0:
154 155
 		return 'nothing'
155 156
 	if len(items) == 1:

+ 7
- 6
rocketbot/cogs/joinraidcog.py Просмотреть файл

@@ -3,6 +3,7 @@ Cog for detecting large numbers of guild joins in a short period of time.
3 3
 """
4 4
 import weakref
5 5
 from datetime import datetime, timedelta
6
+from typing import Optional
6 7
 
7 8
 from discord import Guild, Member
8 9
 from discord.ext.commands import Cog
@@ -17,11 +18,11 @@ class JoinRaidContext:
17 18
 	"""
18 19
 	Data about a join raid.
19 20
 	"""
20
-	def __init__(self, join_members: list):
21
-		self.join_members = list(join_members)
22
-		self.kicked_members = set()
23
-		self.banned_members = set()
24
-		self.warning_message_ref = None
21
+	def __init__(self, join_members: list[Member]):
22
+		self.join_members: list[Member] = list(join_members)
23
+		self.kicked_members: set[Member] = set()
24
+		self.banned_members: set[Member] = set()
25
+		self.warning_message_ref: Optional[weakref.ReferenceType[BotMessage]] = None
25 26
 
26 27
 	def last_join_time(self) -> datetime:
27 28
 		"""Returns when the most recent member join was, in UTC"""
@@ -82,7 +83,7 @@ class JoinRaidCog(BaseCog, name='Join Raids'):
82 83
 		guild: Guild = bot_message.guild
83 84
 		raid: JoinRaidContext = bot_message.context
84 85
 		if reaction.emoji == CONFIG['kick_emoji']:
85
-			to_kick = set(raid.join_members) - raid.kicked_members
86
+			to_kick: set[Member] = set(raid.join_members) - raid.kicked_members
86 87
 			for member in to_kick:
87 88
 				await member.kick(
88 89
 					reason=f'Rocketbot: Part of join raid. Kicked by {reacted_by.name}.')

+ 3
- 3
rocketbot/cogs/logcog.py Просмотреть файл

@@ -5,7 +5,7 @@ import difflib
5 5
 import re
6 6
 from collections.abc import Sequence
7 7
 from datetime import datetime, timedelta, timezone
8
-from typing import Callable, Optional, Tuple, Union
8
+from typing import Any, Callable, Optional, Union
9 9
 
10 10
 from discord import (
11 11
 	AuditLogAction,
@@ -854,7 +854,7 @@ class LoggingCog(BaseCog, name='Logging'):
854 854
 		"""
855 855
 		return f'**{user.name}** ({user.display_name} {user.id})'
856 856
 
857
-	def __diff(self, a: str, b: str) -> Tuple[str, str]:
857
+	def __diff(self, a: str, b: str) -> tuple[str, str]:
858 858
 		# URLs don't work well in the diffs. Replace them with private use characters, one per unique URL.
859 859
 		preserved_sequences = []
860 860
 		def sub_token(match: re.Match) -> str:
@@ -916,7 +916,7 @@ class LoggingCog(BaseCog, name='Logging'):
916 916
 
917 917
 		return markdown_a, markdown_b
918 918
 
919
-	def __groupby(self, a_list: list, grouper: Callable[[any], any]) -> dict:
919
+	def __groupby(self, a_list: list[Any], grouper: Callable[[Any], Any]) -> dict:
920 920
 		"""itertools.groupby just less annoying"""
921 921
 		d = {}
922 922
 		for elem in a_list:

+ 5
- 5
rocketbot/cogs/patterncog.py Просмотреть файл

@@ -31,11 +31,11 @@ class PatternContext:
31 31
 	actions have been carried out.
32 32
 	"""
33 33
 	def __init__(self, message: Message, statement: PatternStatement):
34
-		self.message = message
35
-		self.statement = statement
36
-		self.is_deleted = False
37
-		self.is_kicked = False
38
-		self.is_banned = False
34
+		self.message: Message = message
35
+		self.statement: PatternStatement = statement
36
+		self.is_deleted: bool = False
37
+		self.is_kicked: bool = False
38
+		self.is_banned: bool = False
39 39
 
40 40
 async def pattern_name_autocomplete(interaction: Interaction, current: str) -> list[Choice[str]]:
41 41
 	choices: list[Choice[str]] = []

+ 5
- 5
rocketbot/cogsetting.py Просмотреть файл

@@ -3,7 +3,7 @@ A guild configuration setting available for editing via bot commands.
3 3
 """
4 4
 
5 5
 from datetime import timedelta
6
-from typing import TYPE_CHECKING, Any, Literal, Optional, Type, Union
6
+from typing import TYPE_CHECKING, Any, Literal, Optional, Union
7 7
 
8 8
 from discord import Interaction, Permissions
9 9
 from discord.app_commands import Range, Transform, describe
@@ -25,7 +25,7 @@ if TYPE_CHECKING:
25 25
 else:
26 26
 	BaseCog = 'BaseCog'
27 27
 
28
-def describe_type(datatype: Type) -> str:
28
+def describe_type(datatype: type) -> str:
29 29
 	if datatype is int:
30 30
 		return 'integer'
31 31
 	if datatype is float:
@@ -54,7 +54,7 @@ class CogSetting:
54 54
 
55 55
 	def __init__(self,
56 56
 			name: str,
57
-			datatype: Optional[Type],
57
+			datatype: Optional[type],
58 58
 			default_value: Any,
59 59
 			brief: Optional[str] = None,
60 60
 			description: Optional[str] = None,
@@ -66,7 +66,7 @@ class CogSetting:
66 66
 		----------
67 67
 		name: str
68 68
 			Setting identifier. Must follow variable naming conventions.
69
-		datatype: Optional[Type]
69
+		datatype: Optional[type]
70 70
 		    Datatype of the setting. E.g. int, float, str
71 71
 		default_value: Any
72 72
 			Value to use if a guild has not yet configured one.
@@ -86,7 +86,7 @@ class CogSetting:
86 86
 		  	Set of allowed values. None if unconstrained.
87 87
 		"""
88 88
 		self.name: str = name
89
-		self.datatype: Type = datatype
89
+		self.datatype: type = datatype
90 90
 		self.default_value = default_value
91 91
 		self.brief: Optional[str] = brief
92 92
 		self.description: str = description or ''  # Can't be None

+ 2
- 2
rocketbot/utils.py Просмотреть файл

@@ -5,7 +5,7 @@ import re
5 5
 import sys
6 6
 import traceback
7 7
 from datetime import datetime, timedelta
8
-from typing import Any, Optional, Type, Union
8
+from typing import Any, Optional, Union
9 9
 
10 10
 import discord
11 11
 from discord import Guild, Interaction, Permissions
@@ -121,7 +121,7 @@ def first_command_group(cog: Cog) -> Optional[discord.app_commands.Group]:
121 121
 			return member
122 122
 	return None
123 123
 
124
-def bot_log(guild: Optional[Guild], cog_class: Optional[Type], message: Any) -> None:
124
+def bot_log(guild: Optional[Guild], cog_class: Optional[type], message: Any) -> None:
125 125
 	"""Logs a message to stdout with time, cog, and guild info."""
126 126
 	now: datetime = datetime.now() # local
127 127
 	s = f'[{now.strftime("%Y-%m-%dT%H:%M:%S")}|'

Загрузка…
Отмена
Сохранить