я пишу бота на пайтоне и никак не могу разобраться, можно ли сделать так, чтобы можно указывать роль (через команду) которая может писать команды такие как - кик, бан и т.д
Я просто пишу бота для всех серверов
и хочу чтобы создатель сервера сам указывал роль
Которая может банить и кикать
надеюсь понели)
Вот мой код, где я пытался это сделать сам ;)
@Bot.command ( pass_context = True )
#@commands.has_permissions ( administrator = True )
async def модерроль(ctx, arg, *, role = discord.Role):
moderrole = discord.utils.get(ctx.guild.roles, id = role.id )
await ctx.send( f'>>> Администратор {ctx.author.mention} установил для модераторов роль - {arg}', delete_after = 35 )
# // Кик
@Bot.command ( pass_context = True )
@commands.has_role( moderrole )
async def кик( ctx, member: discord.Member, *, reason = None ):
await member.send ( embed = discord.Embed( title = 'Вас кикнули!', description = f'Вы были кикнуты Администратором { ctx.author.mention }! Причина: {reason}', color = discord.Colour.red(), inline = True ) )
await member.kick ( reason = reason )
emb = discord.Embed ( title = 'Успешно :white_check_mark:', description = f'Участик { member.mention } был успешно кикнут! ', color = 0x00FF00, inline = True )
emb.set_author ( name = Bot.user.name, icon_url = Bot.user.avatar_url )
emb.add_field ( name = 'Модератор:', value = f'{ ctx.author.mention }', inline = True )
emb.add_field ( name = 'Причина:', value = reason, inline = True )
await ctx.send ( embed = emb )