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

Рейтинг: 0Ответов: 1Опубликовано: 17.03.2023

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

Вот код:

from discord.ext import commands
import discord

bot = commands.Bot(command_prefix='$',intents = discord.Intents.default())

@bot.event
async def on_ready():
    print("Бот включился")

@bot.event
async def on_message(message):
    if message.author == bot.user:
        return
    if message.content.startswith("Привет"):
        await message.channel.send("И тебе привет!")


bot.run('токен')

Ответы

▲ 0

Ваш бот не видит текст сообщений, соответственно не обрабатывает команду. Вам необходимо включить Intents на портале разработчиков Discord. Пример здесь.

И либо просто разрешить принимать message_content:

intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='$',intents = intents)

Либо разрешить все Intents, но это будет работать лишь до 100 серверов в боте:

bot = commands.Bot(command_prefix='$',intents = discord.Intents.all())