#discord.py-rewrite
#discord.py-переписать
Вопрос:
Я пытаюсь discord.py бот упоминает участника, временно отстраненного от сервера, а затем присваивает ему временно отстраненную роль. Однако я не знаю, что вставить во вставку, и даже если я просто вставлю что-то туда, оно не отправит сообщение. Я также не уверен, сыграет ли это роль. Вот мой код:
@bot.command(pass_ctx=True)
@commands.has_permission(administrator=True)
async def suspend(ctx, *, self, member = discord.Member):
embed = discord.Embed(
colour = discord.Colour.red(title='Successful Suspension'))
[
embed.add_field(name='Details', value='')]
await ctx.send(embed=embed)
await member.add_roles('Suspended')
else:
await ctx.send('Insufficient Permissions.')
Я также получаю синтаксическую ошибку в функции else: .
Ответ №1:
Прежде всего, я собираюсь ответить на ваш вопрос. Вы можете использовать discord.Member.mention
(в вашем случае вы можете просто написать member.mention
), чтобы упомянуть кого-то.
Во-вторых, я собираюсь помочь с вашим внедрением:
- Аргументы в функции беспорядочные.
- Почему вы поместили заголовок внутрь
discord.Colour.red()
? Это цвет, и он используется для изменения цвета боковой панели для вставки (также вы не можете изменить цвет текста, если это то, что вы пытались сделать). - В полях для вставки у вас не может быть ничего в значении.
value=''
- У вас небольшая опечатка, это
has_permissions()
Я не люблю ложную подачу, но ваш код должен выглядеть примерно так:
@bot.command(pass_ctx=True)
@commands.has_permissions(administrator=True)
async def suspend(self, ctx, *, member = discord.Member):
embed = discord.Embed(title='Succesful Suspension', colour=discord.Colour.red())
embed.add_field(name='Details', value='A')
await ctx.send(embed=embed)
await member.add_roles('Suspended')
Я также удалил последнюю часть вашего кода, потому что это не имело смысла. См. раздел Обработка ошибок.
Я думаю, это все, надеюсь, что это сработало, и я рекомендую вам взглянуть на документы.Если кто-то найдет что-то неправильное, сообщите мне в комментариях.