首页 > 解决方案 > Discord.js 从消息中获取状态

问题描述

嗨,我正在尝试让我的 Bot 从消息中更改其状态,并使用 quick.db 进行设置,因此如果它重新启动,它会变回 sotd。例如,消息将类似于:当日歌曲:来自专辑 PWR UP 的“Wild Reputation”,我只希望歌曲名称作为状态。

client.on('message', message => {
  if (message.channel.id === '792250171320434688') {
    if (message.author.id === '403657714812715008') {

const ms = message.content
db.set('sotd_', ms)
let so = db.get('sotd_')
    client.user.setActivity(so, { type: "PLAYING"})
  }
}
});

标签: node.jsdiscord.jsquick.db

解决方案


我想问题出在 quick.db 的某个地方,因为据我所知 discord.js 部分是正确的。我的建议是尝试以下方法:

client.on('message', message => {
  if (message.channel.id === '792250171320434688' && message.author.id === '403657714812715008') {
    const ms = message.content
    client.user.setActivity(ms, { type: "PLAYING"})
    db.set('sotd_', ms)
  }
});

这样您就可以在尝试从数据库中获取数据时消除可能的错误。然后,如果您想从 quick.db 获取最后状态,请执行以下操作

client.on('ready', () => {
  const lastStatus = db.get('sotd_');
  client.user.setActivity(lastStatus, { type: "PLAYING"});
});

推荐阅读