#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Я пытался создать команду kick, и все работало отлично, пока я не начал добавлять дополнительные сообщения на случай ошибки пользователя, и теперь я могу только понять, как выгнать участника, но сообщения не работают и заставляют сообщения работать, но бот не выгружает участников.
В принципе, если я пишу members: discord.Member
, бот выгружает пользователей, но не отображает сообщения, а если я пишу commands.Greedy[discord.Member]
, все наоборот.
@bot.command()
@has_permissions(manage_roles=True, ban_members=True)
async def kick(ctx, members : commands.Greedy[discord.Member], *,reason=None):
if not members:
await ctx.send("** You need to name someone to kick **")
return
for member in members:
if bot.user == member:
embed = discord.Embed(title = "You can't kick me, I'm an almighty bot")
await ctx.send(embed=embed)
await members.kick(reason=reason)
Извините, если об этом уже спрашивали, похоже, не нашел решения для меня.
Спасибо за ваши ответы.
Комментарии:
1. Вы пропускаете a
return
после второй ошибки
Ответ №1:
members
Переменная представляет собой список, вам нужно выгнать их в цикле for
for member in members:
if member == bot.user:
await ctx.send("You can't kick me")
else:
await member.kick(reason=reason)