Node.js Nodejs更改bot';每次变量更改DISOCRD.JS时,都会使用它的昵称

Node.js Nodejs更改bot';每次变量更改DISOCRD.JS时,都会使用它的昵称,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", () =>

我正在为比特币做一个支配地位代码,我想在机器人的昵称中显示价格,问题是我不知道为什么,但我不能更改昵称,这会给我带来一个错误

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)

确保bot具有权限。
我尝试运行此程序,但没有出现任何错误:

我认为这是因为无法检测到客户端。因为
null
的字面意思是

尝试使用:

client.login(令牌);
而不是:

client.token(令牌);
编辑:

试试这个:

const{Client}=require('discord.js');
const client=new client();
常量请求=要求(“请求”);
var=100;
client.on(“ready”,()=>{
log(`Logged as${client.user.tag}!`);
})
myFunction(客户端)
功能myFunction(客户端){
const url=“API”;
请求(url,(错误、恢复、正文)=>{
const data=JSON.parse(body);
var bitcoinDominance=data.bitcoin_dominance_百分比;
if(比特币优势==最后比特币优势){
console.log(“比特币优势和最后一个比特币优势是相同的”)
}否则{
client.user.setUsername(比特币);
LastBitcoinDomination=比特币优势;
}
});
设置超时(myFunction,10000);
}
client.login(令牌)

我在函数
myFunction
中添加了一个参数,因为您不能在函数中使用客户端。因此,您可以为参数
客户机
提供它。在函数内部,参数
client
现在是您的客户机,因为您提供了它。

在图像中,它看起来不像是权限问题,它会说明权限未经授权/无效。目前,他正在尝试使用discord.js.org文档中可能已弃用的功能。问题是,我也无法更改setPresence,要更改setPresence,我不需要任何权限机器人登录完美,因为它在服务器上,但是,当机器人程序更改服务器时,它会自动崩溃username@JuanBadal编辑了我的答案。现在应该可以工作了。