Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Выдаёт ошибку при написание бота дискорд

dissconnect disssssconnnect Ученик (98), на голосовании 2 месяца назад
мой код:

 const { Client, Intents } = require('discord.js'); 
const bot = new Client({ intents: [Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.DIRECT_MESSAGES] });

const Discord = require('discord.js');
const robot = new Discord.Client();
var comms = require("./comms.js");
const fs = require('fs');
let config = require('./config.json');
let token = config.token;
let prefix = config.prefix;

robot.on("ready", function(){
console.log(robot.user.username + " запустился!");
robot.generateInvite(["ADMINISTRATOR"]).then((link) => {
console.log(link);
})})


robot.on('message', (msg) => {
if(msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator){
var comm = msg.content.trim()+" ";
var ok = false;
var comm_name = comm.slice(0, comm.indexOf(" "));
var messArr = comm.split(" ");
for(comm_count in comms.comms){
var comm2 = prefix + comms.comms[comm_count].name;
if(comm2 == comm_name){
comms.comms[comm_count].out(robot, msg, messArr);
}
}
}
});



bot.login(token);
;
 Ошибка: 
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
Голосование за лучший ответ
Sergio 2.1 Оракул (67415) 3 месяца назад
Ошибка возникает из-за того, что вы используете устаревший способ создания клиента 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 
Похожие вопросы