#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Это код, который у меня есть сейчас:
# Reaction events
@client.event
async def on_reaction_add(reaction, user):
if reaction.message.author == "Among Us Bot#3079":
emoji = reaction.emoji
if user.bot:
return
if emoji == '✅':
fixed_channel = client.get_channel(742888039872856067) # General / main chat channel ID
await fixed_channel.send(f'{user.mention} is ready to play! [{reaction.count - 1}/10]')
else:
print("BRUH")
@client.event
async def on_reaction_remove(reaction, user):
if reaction.message.author == "Among Us Bot#3079":
emoji = reaction.emoji
if user.bot:
return
if emoji == '✅':
fixed_channel = client.get_channel(742888039872856067) # General / main chat channel ID
await fixed_channel.send(f'{user.mention} is no longer ready to play! [{reaction.count - 1}/10]')
else:
print("BRUH x2")
Прямо сейчас, когда вы реагируете на любое сообщение с проверкой, оно выводит «BRUH» в консоль. Перед if reaction.message.author == "Among Us Bot#3079":
, если была реакция проверки на любое сообщение, было бы сказано «{пользователь} готов к игре! [0/10]».
Комментарии:
1. Измените его на
if reaction.message.author.name == "Among Us Bot#3079":
Ответ №1:
reaction.message.author
является объектом, однако, когда он преобразуется в строку, он выводится как имя пользователя. Попробуйте использовать if reaction.message.author.id == client.user.id
вместо этого.