#javascript #discord.js
#javascript #discord.js
Вопрос:
Мой код работал нормально, но я кое-что изменил, и теперь это не так…
Когда я набираю !ping
любой канал, он не работает.
- бот находится на сервере и является администратором.
- Я изменил токен там
- вот код: кто-нибудь что-нибудь видит??
const Discord = require(`discord.js`),
client = new Discord.Client(),
prefix = `!`,
NO = `801418578069815297`
YES = `801418578300764180`
client.login(`bruh`)
client.once(`ready`, () => {
console.log(`online.`)
client.user.setPresence({
status: `online`,
game: {
name: `You`,
type: `WATCHING`
}
})
})
client.on(`message`, message =>{
if(!message.content.startsWith(prefix) || message.author.client) return
const args = message.content.slice(prefix.length).trim().split(` `)
const arg = args.toString().split(sep)
const command = args.shift().toLowerCase()
if(command === `ping`){
message.channel.send(`pong!`)
}
}
)
Редактировать:
Я вставил некоторые выходные данные журнала в:
const Discord = require("discord.js");
let client = new Discord.Client();
let prefix = "!";
console.log("discord, client, prefix defined.")
client.login("bruh");
console.log("logged in.")
client.once("ready", () => {
console.log("online.");
client.user.setPresence({
status: "online",
game: {
name: "You",
type: "WATCHING"
}
});
});
client.on("message", message =>{
console.log("message recieved")
if(!message.content.startsWith(prefix) || message.author.client) return;
console.log("it's a command.")
const args = message.content.slice(prefix.length).trim().split(" ");
console.log("splitted.")
const arg = args.toString().split(sep);
console.log("args defined.")
const command = args.shift().toLowerCase();
console.log("command defined.")
if(command === "ping") {
console.log("command identified:" command)
message.channel.send("pong!");
console.log("message sent.")
}
});
Вывод:
logged in.
online.
message recieved
Я внимательно посмотрел на это, но все равно ничего не нашел…
Ответ №1:
Проблема в том, что вы используете запятые там, где вы должны использовать точки с запятой, поэтому JS будет странно интерпретировать это, что приведет к неопределенному поведению. Также желательно, чтобы ваши переменные имели префикс let
, var
const
иначе это также может привести к неопределенному поведению. Рекомендуется использовать let
over var
.
Попробуйте приведенный ниже код, чтобы решить вашу проблему:
const Discord = require(`discord.js`);
let client = new Discord.Client();
let prefix = '!';
let NO = "801418578069815297";
let YES = "801418578300764180";
client.login(`bruh`);
client.once(`ready`, () => {
console.log(`online.`);
client.user.setPresence({
status: `online`,
game: {
name: `You`,
type: `WATCHING`
}
});
});
client.on(`message`, message =>{
if(!message.content.startsWith(prefix) || message.author.client) return;
const args = message.content.slice(prefix.length).trim().split(' ');
const command = args.shift().toLowerCase();
if(command === `ping`) {
message.channel.send(`pong!`);
}
});
Комментарии:
1. Рекомендуется использовать
const
илиlet
болееvar
2. У меня это не сработало… Я ввел токен, сохранил файл и проверил пакет.json: «main»: «pingtest.js » все еще не работает. Но спасибо, что так внимательно посмотрели на это и потратили свое время на попытки помочь мне!
3. Я также изменил кавычки, это не помогло
4. Я обновил свой код, пожалуйста, ознакомьтесь с обновлением.
Ответ №2:
В прошлом у меня были проблемы с использованием неправильных кавычек, это может иметь место и для вас
Попробуйте заменить все ваши » с » или »
Комментарии:
1. использование разных методов инициализации строки не должно иметь значения, если не возникают ошибки формата строки, такие как неправильная уценка
2. Кто-то сказал мне, что я должен использовать эти «но ig» должен работать, поскольку он показан на многих страницах учебника. Я попробую это. -Хорошо, я попробовал, но это ничего не изменило.
Ответ №3:
Я нашел способ заставить это работать. свяжитесь со мной по discord Moderpo # 0172 если вы хотите знать ответ, мне нужно будет выяснить, что я сделал, потому что я забыл, лол