node.js - 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"})
}
}
});
解决方案
我想问题出在 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"});
});
推荐阅读
- c# - PuppeteerSharp - querySelectorAll + 点击
- python - geojson 正确的文件路径
- angular - 将值从输入组件传递到 Angular 应用程序中的按钮组件
- typescript - 返回类型 void 和上下文类型
- python - 如何选择性地将样式应用于特定列的行?
- vb.net - 将数据表中的列添加到数据库
- python - 通过类传递变量并在 Tkinter 中使用 .get() 来查找用户输入
- javascript - 无法读取未定义的属性“样式”,但样式正在工作
- visual-studio-code - 此计算机上缺少 Vcpkg 软件包
- laravel - 使用 Laravel Docker 容器部署到 Heroku 超时