@fdsaghoi

Как вывести сообщение бота при выходе или входе человека на сервер?

Перепробовал несколько способов вывода сообщения бота при выходе человека с сервера через ивент, а не через команду. Не могу понять, почему не работает, например, этот способ:
@bot.event
    async def on_guild_join(guild):
        for channel in guild.text_channels:
            if channel.permissions_for(guild.me).send_messages:
                await channel.send('Hi!')
  • Вопрос задан
  • 1179 просмотров
Решения вопроса 1
Не работает это для начала, хотя бы потому, что on_guild_join вызывается при входе самого бота на сервер.

При входе/выходе пользователя на/с сервер(а) выполняется on_member_join/on_member_remove соответсвенно:
https://discordpy.readthedocs.io/en/stable/api.htm...

@bot.event
async def on_member_join(member):
    if welcome_channel := member.guild.get_channel(754741279918410952):
        await welcome_channel.send(f"Welcome, {member.mention} to {member.guild.name}")


Помните, что для работы on_member_join/on_member_leave требуется members intent
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы