Pārlūkot izejas kodu

Constant for mod-only permissions, closing permission gaps in all cogs

pull/13/head
Rocketsoup 2 mēnešus atpakaļ
vecāks
revīzija
a99243f78f

+ 3
- 1
rocketbot/cogs/configcog.py Parādīt failu

@@ -10,6 +10,8 @@ from discord.ext.commands import Bot
10 10
 from config import CONFIG
11 11
 from rocketbot.storage import ConfigKey, Storage
12 12
 from rocketbot.cogs.basecog import BaseCog
13
+from rocketbot.utils import MOD_PERMISSIONS
14
+
13 15
 
14 16
 class ConfigCog(BaseCog, name='Configuration'):
15 17
 	"""
@@ -28,7 +30,7 @@ class ConfigCog(BaseCog, name='Configuration'):
28 30
 		name='config',
29 31
 		description='Manages general bot configuration',
30 32
 		guild_only=True,
31
-		default_permissions=Permissions(Permissions.manage_messages.flag)
33
+		default_permissions=MOD_PERMISSIONS,
32 34
 	)
33 35
 
34 36
 	@config.command()

+ 4
- 4
rocketbot/cogs/generalcog.py Parādīt failu

@@ -67,8 +67,8 @@ class GeneralCog(BaseCog, name='General'):
67 67
 		},
68 68
 	)
69 69
 	@guild_only()
70
-	@default_permissions(manage_messages=True)
71
-	async def testwarn(self, interaction: Interaction):
70
+	@default_permissions(ban_members=True)
71
+	async def test_warn(self, interaction: Interaction):
72 72
 		"""Command handler"""
73 73
 		if Storage.get_config_value(interaction.guild, ConfigKey.WARNING_CHANNEL_ID) is None:
74 74
 			await interaction.response.send_message(
@@ -108,7 +108,7 @@ class GeneralCog(BaseCog, name='General'):
108 108
 		},
109 109
 	)
110 110
 	@guild_only()
111
-	@default_permissions(manage_messages=True)
111
+	@default_permissions(administrator=True)
112 112
 	async def shutdown(self, interaction: Interaction):
113 113
 		"""Command handler"""
114 114
 		await interaction.response.send_message('👋', ephemeral=True)
@@ -126,7 +126,7 @@ class GeneralCog(BaseCog, name='General'):
126 126
 	)
127 127
 	@guild_only()
128 128
 	@default_permissions(manage_messages=True)
129
-	async def deletemessages(self, interaction: Interaction, user: User, age: Transform[timedelta, TimeDeltaTransformer]) -> None:
129
+	async def delete_messages(self, interaction: Interaction, user: User, age: Transform[timedelta, TimeDeltaTransformer]) -> None:
130 130
 		"""Command handler"""
131 131
 		member_id = user.id
132 132
 		cutoff: datetime = datetime.now(timezone.utc) - age

+ 3
- 1
rocketbot/cogs/joinagecog.py Parādīt failu

@@ -12,7 +12,7 @@ from rocketbot.bot import Rocketbot
12 12
 from rocketbot.cogs.basecog import BaseCog, BotMessage, BotMessageReaction, CogSetting
13 13
 from rocketbot.collections import AgeBoundList
14 14
 from rocketbot.storage import Storage
15
-from rocketbot.utils import TimeDeltaTransformer
15
+from rocketbot.utils import TimeDeltaTransformer, MOD_PERMISSIONS
16 16
 
17 17
 
18 18
 class JoinAgeQueryContext:
@@ -54,6 +54,8 @@ class JoinAgeCog(BaseCog, name='Join Age'):
54 54
 	joinage = Group(
55 55
 		name='joinage',
56 56
 		description='Queries for users who joined in the past span of time',
57
+		guild_only=True,
58
+		default_permissions=MOD_PERMISSIONS,
57 59
 		extras={
58 60
 			'long_description': 'Searches for users who joined the server recently. ' + \
59 61
 				'Can use time spans like 30s, 5m, 1h, 7d, etc.',

+ 5
- 4
rocketbot/cogs/patterncog.py Parādīt failu

@@ -8,7 +8,7 @@ from typing import Optional
8 8
 
9 9
 from discord import Guild, Member, Message, utils as discordutils, Permissions, Interaction
10 10
 from discord.app_commands import Choice, Group, autocomplete, rename
11
-from discord.ext import commands
11
+from discord.ext.commands import Cog
12 12
 
13 13
 from config import CONFIG
14 14
 from rocketbot.bot import Rocketbot
@@ -17,7 +17,8 @@ from rocketbot.cogsetting import CogSetting
17 17
 from rocketbot.pattern import PatternCompiler, PatternDeprecationError, \
18 18
 	PatternError, PatternStatement
19 19
 from rocketbot.storage import Storage
20
-from rocketbot.utils import dump_stacktrace
20
+from rocketbot.utils import dump_stacktrace, MOD_PERMISSIONS
21
+
21 22
 
22 23
 class PatternContext:
23 24
 	"""
@@ -148,7 +149,7 @@ class PatternCog(BaseCog, name='Pattern Matching'):
148 149
 			Storage.set_state_value(guild, 'PatternCog.last_matched', last_matched)
149 150
 		last_matched[name] = time
150 151
 
151
-	@commands.Cog.listener()
152
+	@Cog.listener()
152 153
 	async def on_message(self, message: Message) -> None:
153 154
 		"""Event listener"""
154 155
 		if message.author is None or \
@@ -261,7 +262,7 @@ class PatternCog(BaseCog, name='Pattern Matching'):
261 262
 		name='pattern',
262 263
 		description='Manages message pattern matching.',
263 264
 		guild_only=True,
264
-		default_permissions=Permissions(Permissions.manage_messages.flag),
265
+		default_permissions=MOD_PERMISSIONS,
265 266
 	)
266 267
 
267 268
 	@pattern.command()

+ 3
- 1
rocketbot/cogs/usernamecog.py Parādīt failu

@@ -10,6 +10,8 @@ from discord.ext.commands import Cog
10 10
 from config import CONFIG
11 11
 from rocketbot.cogs.basecog import BaseCog, BotMessage, BotMessageReaction, CogSetting
12 12
 from rocketbot.storage import Storage
13
+from rocketbot.utils import MOD_PERMISSIONS
14
+
13 15
 
14 16
 class UsernamePatternContext:
15 17
 	"""
@@ -83,7 +85,7 @@ class UsernamePatternCog(BaseCog, name='Username Pattern'):
83 85
 		name='username',
84 86
 		description='Manages username pattern detection.',
85 87
 		guild_only=True,
86
-		default_permissions=Permissions(Permissions.manage_messages.flag),
88
+		default_permissions=MOD_PERMISSIONS,
87 89
 	)
88 90
 
89 91
 	@username.command(

+ 3
- 1
rocketbot/utils.py Parādīt failu

@@ -8,7 +8,7 @@ from datetime import datetime, timedelta
8 8
 from typing import Any, Optional, Type, Union
9 9
 
10 10
 import discord
11
-from discord import Guild
11
+from discord import Guild, Permissions
12 12
 from discord.ext.commands import Cog
13 13
 
14 14
 def dump_stacktrace(e: BaseException) -> None:
@@ -171,6 +171,8 @@ def str_from_quoted_str(val: str) -> str:
171 171
 		raise ValueError(f'Not a quoted string: {val}')
172 172
 	return val[1:-1]
173 173
 
174
+MOD_PERMISSIONS: Permissions = Permissions(Permissions.manage_messages.flag)
175
+
174 176
 from discord import Interaction
175 177
 from discord.app_commands import Transformer
176 178
 from discord.ext.commands import BadArgument

Notiek ielāde…
Atcelt
Saglabāt