Автозапуск discord bot python

#discord #discord.py-rewrite #python-3.8

#Discord #discord.py-переписать #python-3.8

Вопрос:

Хорошо, все, что мне нужно, это добавить код автозапуска к моему боту, но только для определенного сервера. Поэтому, пожалуйста, помогите мне! Вот код до сих пор, но я сделал это только потому, что переполнение стека не может принять мое текстовое тело:

 @client.event
async def on_member_join(member : discord.Member):
    server = ctx.message.server
    rolelol = client.get_role('770262439937048577')
    if server == server.id:('753667215710224574'):
        await client.add_roles(member, rolelol)
    else:
        await client.say('')
 

Все, что мне нужно, это код для автозапуска, который я не создал, на самом деле не имеет значения…

Ответ №1:

У вас есть несколько ошибок :

  • add_roles это Member объектный метод, поэтому вы должны использовать member.add_roles()
  • ctx не определено, поскольку вы не в команде, чтобы получить объект discord guild, вы должны написать member.guild
  • get_role() это Guild объектный метод, поэтому вам нужно написать member.guild.get_role(id)
  • Ваши идентификаторы должны передаваться как int , а не str .
  • Client у объектов нет никакого say() метода

Со всеми этими изменениями ваш код будет выглядеть следующим образом :

 @client.event
async def on_member_join(member : discord.Member):
    role = member.guild.get_role(770262439937048577)
    if member.guild.id == 753667215710224574:
        await member.add_roles(role)
 

Ссылка : https://discordpy.readthedocs.io/en/latest /