@broshnik

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

Он должен подсчитывать количество определенных слов и по команде писать сколько их было написано. Дал все разрешения чтобы мог писать на сервере, запускаю и вроде все ок, бот онлайн, ввожу команду !wordcount и не отвечает, помогите пожалуйста кто разбирается, вот код:

import discord 
from discord.ext import commands 
 
# Создание объекта бота с указанием префикса команд 
intents = discord.Intents.default() 
intents.messages = True 
bot = commands.Bot(command_prefix='!', intents=intents) 
 
# Слова, которые будем отслеживать 
target_words = ["hello", "world", "example"] 
 
# Словарь для хранения количества каждого слова 
word_count = {word: 0 for word in target_words} 
 
# Обработчик события "сообщение" 
@bot.event 
async def on_message(message): 
    print(f"Message received: {message.content}") 
    # Игнорируем сообщения от бота 
    if message.author == bot.user: 
        return 
 
    # Подсчет слов в сообщении 
    for word in target_words: 
        if word in message.content.lower(): 
            word_count[word] += 1 
 
    # Продолжаем обработку события сообщения 
    await bot.process_commands(message) 
 
# Команда для вывода общего количества слов 
@bot.command() 
async def wordcount(ctx): 
    total_count = sum(word_count.values()) 
    await ctx.send(f"Всего было использовано слов: {total_count}") 
 
# Токен вашего бота 
TOKEN = 'тут мой токен' 
 
# Запуск бота 
bot.run(TOKEN)
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 2
@o5a
Он вообще реагирует на эвент? Если даже не реагирует, значит все-таки не все права раздали.
Если реагирует, но сообщение пустое, то это потому что
intents.messages = True
Чтобы читать сообщения не только в личке бота, но и любое на сервере, нужно вместо этого использовать
intents.message_content = True
и вместе с этим в настройке самого бота (в панели управления приложением-ботом в дискорде) проставить галку этой привилегии message content
https://discord.com/developers/applications/id_при...
Ответ написан
Комментировать
@dim5x
ЗИ, ИБ.
Ваш код (без изменений) у меня отрабатывает корректно. Проверяйте права.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы