Discord.js setGame() 不再工作

Discord.js setGame() not working anymore

我已经使用 Discord.JS 编写我的 Discord 机器人代码大约 2 个月了,我最近才注意到我的机器人并没有说它正在播放我告诉它的内容。直到最近,当我第一次编写机器人代码时,它工作得很好。现在我的 3 个 discord 机器人没有展示他们的游戏。

这是我正在使用的代码:

const Discord = require("discord.js");
const bot = new Discord.Client();
bot.on("ready", () => {
  console.log("Ready");
  bot.user.setGame("Type !help");
}

setGame() 方法已停止工作,您可以执行以下操作:

  • 更新到最新的 11.1-dev 或
  • 改用 .setPresence({ game: { name: 'nameGoesHere', type: 0 } }); 作为解决方法

来源:https://github.com/hydrabolt/discord.js/issues/1807#issuecomment-323578919

这是一个使用 LW001 链接到的 .setPresence 的简短示例:

var Discord = require('discord.js');
var bot = new Discord.Client();

bot.on('ready', () => {
    bot.user.setStatus('available') // Can be 'available', 'idle', 'dnd', or 'invisible'
    bot.user.setPresence({
        game: {
            name: 'Type !help',
            type: 0
        }
    });
});

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

.setGame() 现在已弃用,但您可以使用 .setPresence() 或者您可以使用 .setActivity(),它与 .setGame() 的格式相同。 例如

const Discord = require('discord.js');
const bot = new Discord.Client();
bot.user.setActivity('YouTube', { type: 'WATCHING' });

Here 是文档的 link,以防您想将 'Watching' 更改为其他内容,例如 'Playing'.

setGame() 现已弃用,discord.js 要求您使用 setActivity().

const Discord = require("discord.js");
const bot = new Discord.Client();
bot.on("ready", () => {
  console.log("Ready");
  bot.user.setActivity("Type !help");
})

希望对您有所帮助。

setgame 已折旧,使用 setActivity 代替

示例:

client.user.setActivity('activity here')

或:

client.user.setActivity('activity here', {type: "WATCHING"})

类型可以是 WATCHINGLISTENINGPLAYINGSTREAMING

如果流式传输,您需要将其添加到 setActivity 代码下方

url: "twitch.tv/urtwitchusername",