首页 > 解决方案 > discord.js client.user.setPresence() 破坏机器人

问题描述

我的机器人目前运行良好。我决定为其添加“正在播放”状态。这是相关代码:

// Import the discord.js modules required
const Discord = require('discord.js');

// Create an instance of a Discord client
const client = new Discord.Client();

// Load config properties from 'config.json'
const config = require("./config.json");
const contest = config.contest;

// Set bots status to playing 'contest' defined in 'config.json'
client.user.setPresence({
  game:{
    name:contest
  },
  status:'online'
});

在“config.json”中:

{
  "contest": "Example Game"
}

当我添加这个时,机器人不再工作,并且显示为离线。有任何想法吗?

编辑:信息来源:

https://discord.js.org/#/docs/main/stable/class/ClientUser?scrollTo=setPresence

在示例部分:

// Set the client user's presence
client.user.setPresence({ game: { name: 'with discord.js' }, status: 'idle' })
  .then(console.log)
  .catch(console.error);

标签: javascriptnode.jsdiscorddiscord.js

解决方案


想通了 - 这需要放在一个事件中,否则它只是浮动代码。例如,我将它放在一个 client.on('ready) 事件中。


推荐阅读