Skip to content
This repository was archived by the owner on Oct 2, 2023. It is now read-only.

Commit 30fbb98

Browse files
NekoFanaticDefelo
authored andcommitted
Fixed issues from Defelo
1 parent 026b52e commit 30fbb98

File tree

1 file changed

+6
-49
lines changed

1 file changed

+6
-49
lines changed

administration/roles/cog.py

Lines changed: 6 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
from typing import Optional, Union, Dict, List
22

33
import discord.ext.commands
4-
from discord import Role, Embed, Member, Status, Guild, NotFound, User, Forbidden
4+
from discord import Role, Embed, Member, Status, Guild, NotFound, User, Forbidden, Permissions
55
from discord.ext import commands
66
from discord.ext.commands import CommandError, Context, guild_only, UserInputError, Group
77

88
from PyDrocsid.cog import Cog
99
from PyDrocsid.command import reply, docs, optional_permissions
1010
from PyDrocsid.config import Config
11-
from ...contributor import Contributor
1211
from PyDrocsid.converter import UserMemberConverter
1312
from PyDrocsid.database import db, select, filter_by
1413
from PyDrocsid.embeds import send_long_embed
@@ -20,6 +19,7 @@
2019
from .colors import Colors
2120
from .models import RoleAuth, PermaRole
2221
from .permissions import RolesPermission
22+
from ...contributor import Contributor
2323
from ...pubsub import send_to_changelog, send_alert
2424

2525
tg = t.g
@@ -247,54 +247,13 @@ async def roles_add(self, ctx: Context, member: Member, *, role: Role):
247247
@RolesPermission.roles_clone.check
248248
@docs(t.commands.roles_clone)
249249
async def roles_clone(self, ctx: Context, role: Role):
250-
if not await is_authorized(ctx.author, role, perma=False):
251-
raise CommandError(t.role_not_authorized)
252-
253-
permission_list = [
254-
"add_reactions",
255-
"administrator",
256-
"attach_files",
257-
"ban_members",
258-
"change_nickname",
259-
"connect",
260-
"create_instant_invite",
261-
"deafen_members",
262-
"embed_links",
263-
"external_emojis",
264-
"kick_members",
265-
"manage_channels",
266-
"manage_emojis",
267-
"manage_guild",
268-
"manage_messages",
269-
"manage_nicknames",
270-
"manage_permissions",
271-
"manage_roles",
272-
"manage_webhooks",
273-
"mention_everyone",
274-
"move_members",
275-
"mute_members",
276-
"priority_speaker",
277-
"read_message_history",
278-
"read_messages",
279-
"request_to_speak",
280-
"send_messages",
281-
"send_tts_messages",
282-
"speak",
283-
"stream",
284-
"use_external_emojis",
285-
"use_slash_commands",
286-
"use_voice_activation",
287-
"value",
288-
"view_audit_log",
289-
"view_channel",
290-
"view_guild_insights",
291-
]
292250

293251
missing_perms = []
252+
294253
params = discord.Permissions()
295-
bot_member_object = ctx.guild.get_member(self.bot.user.id)
254+
bot_member_object = ctx.guild.me
296255

297-
for permission in permission_list:
256+
for permission, _ in Permissions.all():
298257
if (
299258
getattr(bot_member_object.guild_permissions,
300259
permission
@@ -310,9 +269,7 @@ async def roles_clone(self, ctx: Context, role: Role):
310269
)
311270
await ctx.message.add_reaction(name_to_emoji["white_check_mark"])
312271
if missing_perms:
313-
descrip = ""
314-
for mis in missing_perms:
315-
descrip += f"`{mis}`\n"
272+
descrip = "`" + "`\n`".join(missing_perms) + "`"
316273
em = Embed(title=t.failed_to_clone_role_permissions, description=descrip, color=Colors.MissingPermissions)
317274
await send_long_embed(ctx, em, paginate=True)
318275

0 commit comments

Comments
 (0)