@AngryyFrost

Почему бот не отправляет сообщение пользователю при заходе на сервер?

Пытаюсь заставить бота отправлять сообщение с пингом пользователя при заходе на сервер, в определенный канал или же в лс, но он отказывается это делать. Код вроде без ошибок и работать должен правильно, но не выходит.

@Bot.event
    async def on_member_join(member):
       channel = Bot.get_channel(685038866616680461)
       await channel.send(f"{ member } сообщение)")

И команда для отправки в лс сообщения:

@Bot.event
    async def on_member_join(member):
    await member.send(f"{ member }сообщение")

Ни на одну из этих команд он не реагирует.

Полный код:

import discord
from discord.ext import commands
from discord.ext.commands import Bot




Bot: Bot = commands.Bot(command_prefix=('+'))

@Bot.event
async def on_ready():
    print("Pokrenut")

    @Bot.event
    async def on_member_join(member):
       channel = Bot.get_channel(685038866616680461)
       await channel.send(f"{ member }сообщение")
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
@Kadabrov
если рассматривать полный код, то у вас
@Bot.event
async def on_member_join(member):


с лишними отступамии находится в функции async def on_ready()
нужно сместить функцию на 1 таб влево

Bot: Bot = commands.Bot(command_prefix=('+'),  intents = discord.Intents.all())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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