Ошибка возникает из-за того, что вы используете устаревший способ создания клиента Discord и указания намерений (intents). В более новых версиях Discord.js (v13 и выше) синтаксис немного изменился. Вот исправленный вариант вашего кода:
const { Client, GatewayIntentBits } = require('discord.js');
const bot = new Client({
intents: [
GatewayIntentBits.GuildMessages,
GatewayIntentBits.DirectMessages,
GatewayIntentBits.Guilds, // Добавьте это, если нужно
GatewayIntentBits.MessageContent // Добавьте это, если нужно читать содержимое сообщений
]
});
// Остальной код остается без изменений
bot.on("ready", function(){
console.log(bot.user.username + " запустился!");
bot.generateInvite(["ADMINISTRATOR"]).then((link) => {
console.log(link);
})
});
bot.on('messageCreate', (msg) => {
// Ваш код обработки сообщений
});
bot.login(token);
Обратите внимание, что вы создаете два клиента (bot и robot). Вам нужен только один. Я предлагаю использовать bot и удалить все упоминания robot.
Не забудьте обновить Discord.js до последней версии:
npm install discord.js@latest
; const bot = new Client({ intents: [Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.DIRECT _MESSAGES] });
^
TypeError: Cannot read properties of undefined (reading 'FLAGS')
at Object.<anonymous> (D:\bot\index.js:2:44)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
at node:internal/main/run_main_module:28:49