Функция роли реакции моего бота discord.py бот не функционировал должным образом.. Почему?

#discord.py

#discord.py

Вопрос:

Это код, который я получил до сих пор, но по какой-то причине он действительно не работает…

 async def on_ready():
    Channel = client.get_channel('777877476558110737')
    Text= "React to Verify"
    Moji = await client.send_message(Channel, Text)
    await client.add_reaction(Moji, emoji='🏃')
    
@client.event
async def on_reaction_add(reaction, user):
    Channel = client.get_channel('777877476558110737')
    if reaction.message.channel.id != Channel:
      return
    if reaction.emoji == "🏃":
      Role = discord.utils.get(user.server.roles, name="12 Year Old")
      await client.add_roles(user, Role)
  

Ответ №1:

  1. Использовать Channel.send(Text) не client.send_message(Channel, Text) потому send_message , что это не метод client , а send метод Channel .
  2. Использовать Moji.add_reaction("🏃") не client.add_reaction(Moji, emoji='🏃') потому add_reaction , что это метод Message класса.
  3. Изменить user.server.roles на user.guild.roles because server не является атрибутом Member класса, но guild является.
  4. Использовать user.add_roles(Role) не client.add_roles(user, Role) потому add_roles , что это метод Member класса.

Обязательно обратитесь к документам. Вы вызываете много методов из client того, когда они должны вызываться из других классов. Обновить discord.py и до последней версии тоже.

Комментарии:

1. О, теперь это имеет смысл. Большое вам спасибо!