每次变量更改时,Nodejs 都会更改机器人的昵称 DISOCRD.JS

时间:2021-01-05 03:06:33

标签: 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)

enter image description here

2 个答案:

答案 0 :(得分: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 :(得分:0)

确保机器人有权限。
我尝试运行它,但没有出现任何错误: code