【发布时间】:2021-04-17 22:33:20
【问题描述】:
我正在尝试找到一种通过 discord.js 更新我的机器人状态的方法
我已经在网上尝试了所有解决方案,但似乎找不到任何解决方案。 我已经查看了 StackOverflow 等。
请注意我在 discord.js V12 上运行
【问题讨论】:
标签: javascript node.js discord discord.js
我正在尝试找到一种通过 discord.js 更新我的机器人状态的方法
我已经在网上尝试了所有解决方案,但似乎找不到任何解决方案。 我已经查看了 StackOverflow 等。
请注意我在 discord.js V12 上运行
【问题讨论】:
标签: javascript node.js discord discord.js
我已经在网上尝试了所有解决方案,但似乎找不到任何解决方案
您没有查看discord.js docs 网站吗?该解决方案在该网站上有明确的文档记录并且很容易发现?当涉及到这些类型的问题时,我建议先看看那里。
我不知道您所说的 status 是什么意思(您是在谈论空闲/离线/在线状态还是“机器人正在玩 x”状态?),但我正在演示如何处理这两种状态的简单示例和下面的活动。这些示例均直接取自 discord.js 文档。
状态
// Set the client user's status
client.user.setStatus('idle')
.then(console.log)
.catch(console.error);
活动
// Set the client user's activity
client.user.setActivity('an activity', { type: 'PLAYING' })
.then(presence => console.log(`Activity set to ${presence.activities[0].name}`))
.catch(console.error);
相关资源
https://discord.js.org/#/docs/main/stable/class/ClientUser?scrollTo=setStatus
https://discord.js.org/#/docs/main/stable/class/ClientUser?scrollTo=setActivity
【讨论】:
client 变量未定义。也许您将变量命名为bot?查看执行new Discord.Client() 的代码行,并使用该行上的变量名称。例如,如果您的代码使用bot.on("message") 而不是client.on("message"),请在此答案的代码中将client 替换为bot,它会为您工作。
client.user.setActivity(`Hello World`, {type: 'PLAYING'});
或
client.user.setPresence({ activity: { name: `Something`, type: "LISTENING" }, status: 'dnd' });
有很多方法可以做到这一点。希望这会有所帮助。
【讨论】:
setStatus,但我没有使用setStatus 实现任何东西。顺便说一句圣诞快乐^^