Привет! Возникла проблема.
Дело в том, что я не много программирую на nextcord и проблема появилась "откуда не возьмись".
Пытался сделать систему, чтобы при вводе команды пользователю чей айди/упоминание в команде, бот менял никнейм на указанный в команде, соответственно.
При вводе команды появляется ошибка.
Пока не могу понять, в чём проблема из-за недостаточного уровня знания nextcord и в общем python.
Ввод команды выглядит так:
Сам код:
@bot.command()
@commands.has_permissions(manage_nicknames = True)
async def setname(ctx, member: nextcord.Member = None, *, nickname = None):
if member is None:
erremb = nextcord.Embed(
title = f'Ошибка!',
description = f'Укажите пользователя, которому хотите изменить никнейм.',
color = 0xF72B2A
)
erremb.set_footer(
text = f'Запросил: {ctx.author.name}.'
)
await ctx.reply(embed=erremb)
elif member is ctx.author:
erremb1 = nextcord.Embed(
title = f'Ошибка!',
description = f'Вы не можете заменить никнейм самому себе.',
color = 0xF72B2A
)
erremb1.set_footer(
text = f'Запросил: {ctx.author.name}'
)
else:
if nickname is None:
emb1 = nextcord.Embed(
title = f'Успешно!',
description = f'Вы успешно **сбросили** никнейм для {member.mention}.',
color = 0xF72B2A
)
emb1.set_footer(
text = f'Запросил: {ctx.author.name}.'
)
await member.edit(nick = {member.name})
await ctx.reply(embed = emb1)
else:
emb2 = nextcord.Embed(
title = f'Успешно!',
description = f'Вы успешно **изменили** никнейм для {member.mention}.',
color = 0xF72B2A
)
emb2.set_footer(
text = f'Запросил: {ctx.author.name}.'
)
await member.edit(nick = {nickname})
await ctx.reply(embed = emb2)
В будущем ещё хочу, чтобы бот после смены ника отсылал сообщение участнику в ЛС, но это всё мечты.
Буду рад, если мне помогут здесь.