Как сделать чтобы селф бот писал при заходе на сервер участнику?

Я пытаюсь сделать чтобы селф бот писал новому участнику на сервере, я попытался реализовать как обычный бот но он не отправляет, здесь код не могу почему-то оставить помогите пожалуйста с кодом!

код: @client.event async def on_member_join(member): print('На сервер зашёл чел ему отправляется фиш ссылка') await member.send("ку, вот ссылка: gg")


Ответы (1 шт):

Автор решения: w4sQ

Лучше делать через класс, а не через client.event. Но в классе важен порядок функций, можешь посмотреть тут документацию по эвентам.

intents = nextcord.Intents.default()
intents.members = True

class Bot(commands.Bot):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    async def on_member_join(self, member: nextcord.Member):
        if guild.system_channel is not None:
            msg = "ку, вот ссылка: gg"
            await guild.system_channel.send(msg)

bot = Bot(command_prefix="!", description="test", intents=intents)

if __name__ == '__main__':
    bot.run(#TOKEN)
→ Ссылка