Ошибка в on_member_join/on_member_remove
Есть код который должен срабатывать при входе на сервер и выхода с сервера, не знаю почему, но он не работает. Поискал ответы в интернете, что-то делал с intents, но ничего не помогает. Ошибки нет, бот просто не видит заходящего и выходящего человека.
@client.event
async def on_member_join(member):
print('f')
channel = client.get_channel(config.HELLO_GOODBYE_CHANNEL)
role = discord.utils.get(member.guild.roles, id = config.START_ROLE)
await member.add_roles(role)
await channel.send(embed = discord.Embed(description = f'Пингвин ``{member}`` наткнулся на наш сервер', colour = discord.Color.green()))
@client.event
async def on_member_remove(member):
print('f')
channel = client.get_channel(config.HELLO_GOODBYE_CHANNEL)
await channel.send(embed = discord.Embed(description = f'Пингвин ``{member}`` вышел с нашего сервера', colour = discord.Color.green()))
Ответы (1 шт):
Автор решения: Shap Po
→ Ссылка
Во-первых при создании клиента нужно активировать intents:
client = discord.Client(intents=discord.Intents().all())
Во-вторых на странице с ботом (https://discord.com/developers/applications/айди_бота/bot) включить PRESENCE INTENT и SERVER MEMBERS INTENT и нажать сохранить.