#node.js #discord.js
#node.js #discord.js
Вопрос:
Я делаю тикер доминирования для биткойнов, и я хочу показать цену в нике бота, дело в том, что я не знаю почему, но я не могу изменить ник, он выдает мне ошибку.
const { Client } = require('discord.js');
const client = new Client();
const request = require("request");
var LastBitcoinDominance = 100;
client.on("ready", () => {
console.log(`Logged in as ${client.user.tag}!`);
})
myFunction()
function myFunction() {
const url = "API";
request(url, (err, res, body) => {
const data = JSON.parse(body);
var bitcoinDominance = data.bitcoin_dominance_percentage;
if (bitcoinDominance == LastBitcoinDominance){
console.log("Bitcoin dominance and LastBitcoinDominacne are the same")
}else {
client.user.setUsername(bitcoinDominance)
LastBitcoinDominance = bitcoinDominance;
}
});
setTimeout(myFunction, 10000);
}
client.login(TOKEN)
Ответ №1:
Я думаю, это потому, что клиент не может быть обнаружен. Потому null
что буквально ничего не значит.
Попробуйте использовать:
client.login(TOKEN);
вместо:
client.token(TOKEN);
Редактировать:
Попробуйте это:
const { Client } = require('discord.js');
const client = new Client();
const request = require("request");
var LastBitcoinDominance = 100;
client.on("ready", () => {
console.log(`Logged in as ${client.user.tag}!`);
})
myFunction(client)
function myFunction(client) {
const url = "API";
request(url, (err, res, body) => {
const data = JSON.parse(body);
var bitcoinDominance = data.bitcoin_dominance_percentage;
if (bitcoinDominance == LastBitcoinDominance){
console.log("Bitcoin dominance and LastBitcoinDominacne are the same")
}else {
client.user.setUsername(bitcoinDominance);
LastBitcoinDominance = bitcoinDominance;
}
});
setTimeout(myFunction, 10000);
}
client.login(TOKEN)
Я добавил параметр в вашу функцию myFunction
, потому что вы не можете использовать свой клиент внутри функции. Поэтому вы предоставляете его для параметра client
. Внутри функции параметр client
теперь является вашим клиентом, потому что вы его предоставили.
Комментарии:
1. Бот идеально входит в систему, потому что он включен на сервере, но он автоматически вылетает, когда бот меняет имя пользователя
2. @JuanBadal отредактировал мой ответ. Теперь должно сработать.
Ответ №2:
Комментарии:
1. На изображении это не похоже на проблему с разрешениями, в нем было бы сказано что-то о несанкционированных / недействительных разрешениях. В настоящее время он пытается использовать функцию, которая, вероятно, устарела в discord.js.org документы.
2. Проблема в том, что я также не могу изменить setPresence и для изменения setPresence мне не нужно никакого разрешения