#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)