如何解决如何使 Discord 机器人货币系统中的物品可用?
我最近一直在尝试使用 Sequelize 在 Discord bot 货币系统中编写代码,但是我编写的使项目可用于服务器的代码似乎不起作用。 我最想要它,以便如果我输入 d!use 服务器成员可以使用该项目。 这是我写的一些代码:
UserItems.belongsTo(CurrencyShop,{ foreignKey: 'item_id',as: 'item' });
const userItem = await UserItems.findOne({
where: { user_id: this.user_id,item_id: item.id },});
if (!userItem) {
return message.channel.send("You don't own this item!");
} else {
return message.channel.send(`You used ${item}`);
await user.removeItem(item);
}
非常感谢!
解决方法
如果 removeItem()
方法的类型正确,这里唯一的问题是您在使用 message.channel.send
方法之前返回了 removeItem()
,这会导致在删除之前生成 if-else 语句数据库中的项目。
尝试将 if-else 语句更改为:
if (!userItem) {
return message.channel.send("You don't own this item!");
} else {
message.channel.send(`You used ${item}`);
return await user.removeItem(item);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。