Java Discord.js проблема

Sklaets

Активный
Автор темы
222
35
D:\jumplet by skaletz\bot.js:2
const robot = new Client({ intents: [Intents.FLAGS.GUILDS] });; // Объявляем, что robot - бот
^

ReferenceError: Client is not defined
at Object. (D:\jumplet by skaletz\bot.js:2:15)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47

что делать?
 
Решение
Я разобрался, в чём тут дело, когда подошёл за компьютер и решил запустить твой код.
Начнём по порядку. Судя по всему, ты код брал из разных мест.
Почему у тебя в 8 и 9 строке используются, давно, Богом забытые методы. Сейчас они неактуальны. Если ты используешь Discord.Js 14, тогда не надо использовать методы 12 версии. Ты сначала объявил название переменной робот, а сам используешь клиент. Логика?
Чтобы работал твой статус и тип статуса используй:
JavaScript:
robot.user.setPresence({ activities: [{ name: `аполвдпоа`, type: ActivityType.Watching }], status: 'dnd', });
Далее. Твой код - говно. В нём нет необходимых переменных. А я не понимаю, что ты там имел в виду.
Что такое, mess?
Твой код в любом случае бы не запустился
...

Sklaets

Активный
Автор темы
222
35
Ты подключил сам дискорд, точнее модуль "discord.js"?

Добавь что-то подобное
JavaScript:
const { Client, Events, GatewayIntentBits } = require('discord.js');
node:internal/modules/cjs/loader:1051
throw err;
^

Error: Cannot find module 'C:\Users\skalets\bot.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
at Module._load (node:internal/modules/cjs/loader:901:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}

Node.js v20.5.0

JavaScript:
const { Client, Events, GatewayIntentBits } = require('discord.js');
const robot = new Client({ intents: [Intents.FLAGS.GUILDS] });;
const comms = require("./comms.js");
const fs = require('fs');
let config = require('./config.json');
let token = config.token;
let prefix = config.prefix;
client.user.setActivity('Bot created skaletz from jumplet');
client.user.setStatus('dnd');

robot.on("ready", function() {
  console.log(robot.user.username + " запустился!");
});


robot.on('message', (msg) => {
  if (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) {
    var comm = msg.content.trim() + " ";
    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);
      }
    }
  }
});

if (!mess.member.hasPermission("MANAGE_MESSAGES")) return mess.channel.send("У  вас нет прав"); /* Если у исполнителя команды нету привилегии MANGAGE_MESSAGES, он не сможет её использовать */

args = mess.content.split(' ');
args.shift();
args = args.join(' ');

mess.delete().catch();

mess.channel.send(args)

const arggs = mess.content.split(' ').slice(1);
const amount = arggs.join(' ');
if (!amount) return mess.channel.send('Вы не указали, сколько сообщений нужно удалить!');
if (isNaN(amount)) return mess.channel.send('Это не число!');
if (amount > 100) return mess.channel.send('Вы не можете удалить 100 сообщений за раз');
if (amount < 1) return mess.channel.send('Вы должны ввести число больше чем 1');
async function delete_messages() {

    await mess.channel.messages.fetch({
        limit: amount
    }).then(messages => {
        mess.channel.bulkDelete(messages)
        mess.channel.send(`Удалено ${amount} сообщений!`)
    })
};
delete_messages();


robot.login(token);
 

Ben Puls

Активный
110
26
У меня сейчас к тебе 3 вопроса:
1) Почему в названии темы стоит язык Java, хотя внутри темы оказывается, что ты пишешь на ЖабаСкрипте?
2) У тебя бан на гугл?
3) Установи модуль, ты модуль discord.js не установил. Пишешь в консоли с указанным путём, где у тебя папка с корнем проекта: npm i discord.js
 

Sklaets

Активный
Автор темы
222
35
У меня сейчас к тебе 3 вопроса:
1) Почему в названии темы стоит язык Java, хотя внутри темы оказывается, что ты пишешь на ЖабаСкрипте?
2) У тебя бан на гугл?
3) Установи модуль, ты модуль discord.js не установил. Пишешь в консоли с указанным путём, где у тебя папка с корнем проекта: npm i discord.js
3 установлен тоже самое пишет, 2 не нашел, а 1 я дурак
 

Ben Puls

Активный
110
26
3 установлен тоже самое пишет, 2 не нашел, а 1 я дурак
Ещё у тебя, видимо, не установлен модуль fs. Пишешь в консоли: npm i fs
FileSystem, так называется этот модуль и он отвечает за функционирование работы с файлами в Node.Js.
 

Sklaets

Активный
Автор темы
222
35
3 установлен тоже самое пишет, 2 не нашел, а 1 я дурак
const robot = new Client({ intents: [Intents.FLAGS.GUILDS] });; // Объявляем, что robot - бот
^

ReferenceError: Intents is not defined
at Object.<anonymous> (C:\jumplet by skaletz\bot.js:2:38)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47
 

Sklaets

Активный
Автор темы
222
35
В первой строчке своего кода напиши Intents.
вписал

const robot = new Client({ intents: [Intents.FLAGS.GUILDS] });; // Объявляем, что robot - бот
^

TypeError: Cannot read properties of undefined (reading 'FLAGS')
at Object.<anonymous> (C:\jumplet by skaletz\bot.js:2:46)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47
 

Sklaets

Активный
Автор темы
222
35
Какая версия Discord.JS?
JavaScript:
const robot = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages] });
Попробуй так.
самая последняя

самая последняя
ReferenceError: client is not defined
at Object.<anonymous> (C:\Users\skalets\Desktop\jumplet by skaletz\bot.js:8:1)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47
 

Ben Puls

Активный
110
26
Я разобрался, в чём тут дело, когда подошёл за компьютер и решил запустить твой код.
Начнём по порядку. Судя по всему, ты код брал из разных мест.
Почему у тебя в 8 и 9 строке используются, давно, Богом забытые методы. Сейчас они неактуальны. Если ты используешь Discord.Js 14, тогда не надо использовать методы 12 версии. Ты сначала объявил название переменной робот, а сам используешь клиент. Логика?
Чтобы работал твой статус и тип статуса используй:
JavaScript:
robot.user.setPresence({ activities: [{ name: `аполвдпоа`, type: ActivityType.Watching }], status: 'dnd', });
Далее. Твой код - говно. В нём нет необходимых переменных. А я не понимаю, что ты там имел в виду.
Что такое, mess?
Твой код в любом случае бы не запустился

Немного для справки
JavaScript:
message.channel.send
От этого метода избавились в 14 версии, ты не сможешь запустить свой код, от слова совсем. У тебя код времён 11.6.4 (2020 год)
Сейчас на 14 версии ты ничего не сможешь запустить. Здесь придётся переделывать код с нуля.

Есть неплохой сайт, называется Discord JS Guide
Там ты сможешь научиться всему необходимому, потому что на 14 версии всё глобально изменилось. Взаимодействие с пользователем происходит уже на совсем другом уровне.
 
  • Нравится
Реакции: Sklaets

Sklaets

Активный
Автор темы
222
35
Я разобрался, в чём тут дело, когда подошёл за компьютер и решил запустить твой код.
Начнём по порядку. Судя по всему, ты код брал из разных мест.
Почему у тебя в 8 и 9 строке используются, давно, Богом забытые методы. Сейчас они неактуальны. Если ты используешь Discord.Js 14, тогда не надо использовать методы 12 версии. Ты сначала объявил название переменной робот, а сам используешь клиент. Логика?
Чтобы работал твой статус и тип статуса используй:
JavaScript:
robot.user.setPresence({ activities: [{ name: `аполвдпоа`, type: ActivityType.Watching }], status: 'dnd', });
Далее. Твой код - говно. В нём нет необходимых переменных. А я не понимаю, что ты там имел в виду.
Что такое, mess?
Твой код в любом случае бы не запустился

Немного для справки
JavaScript:
message.channel.send
От этого метода избавились в 14 версии, ты не сможешь запустить свой код, от слова совсем. У тебя код времён 11.6.4 (2020 год)
Сейчас на 14 версии ты ничего не сможешь запустить. Здесь придётся переделывать код с нуля.
я в этом 0 и решил взять из гайда а там такое
спасибо