vo0ov
@vo0ov
Кодер на python

Почему не работает мой Discord bot на Node.js?

Бот запускается, но ничего не отвечает на !ping и !sum
const { Client, GatewayIntentBits } = require('discord.js');

const bot = new Client({
    intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages,]
});
const prefix = "!";

bot.on('ready', async () => {
    console.log(`${bot.user.username} запустился`)
});

bot.on("messageCreate", function(message) {
    if (message.author.bot) return;
    if (!message.content.startsWith(prefix)) return;
  
    const commandBody = message.content.slice(prefix.length);
    const args = commandBody.split(' ');
    const command = args.shift().toLowerCase();

    if (command === "ping") {
      const timeTaken = Date.now() - message.createdTimestamp;
      message.reply(`Pong! This message had a latency of ${timeTaken}ms.`);
    }
  
    else if (command === "sum") {
      const numArgs = args.map(x => parseFloat(x));
      const sum = numArgs.reduce((counter, x) => counter += x);
      message.reply(`The sum of all the arguments you provided is ${sum}!`);
    }
});

bot.login('');
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
без интента GatewayIntentBits.MessageContent бот не будет регистрировать контент сообщений, поэтому message.content в вашем случае постоянно равен пустой строке "".

следовательно, "" !== "ping" и"" !== "sum", поэтому на команды реакции никакой не будет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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