尝试使用 quick.db 制作经济型机器人,但我的命令不起作用
Posted
技术标签:
【中文标题】尝试使用 quick.db 制作经济型机器人,但我的命令不起作用【英文标题】:Trying to make a Economy bot with quick.db, but my command is not working 【发布时间】:2019-12-29 04:54:13 【问题描述】:基本上,我正在尝试创建一个 discord.js/quick.db 经济系统,并尝试使用教程指导制作一个简单的平衡命令,该命令不会执行,但在日志。
我尝试研究如何做到这一点,遵循其他教程,但它只是让我回到这个错误。我已经为此安装了所有必需的软件包。
const Discord = require('discord.js')
const db = require('quick.db')
module.exports.run = async (bot, message, args) =>
let bal = db.fetch(`money_$message.guild.id_$message.author.id`)
if (bal === null) bal = 0;
message.channel.send('You have a balance of `' + bal + '`')
我没有收到任何错误,但命令只是不会执行,我什至搜索了日志以确保绝对没有错误,但没有任何显示。
【问题讨论】:
你有一个 module.exports.help 吗? 不幸的是,如果没有看到您的其余代码,我们很难确定哪里出了问题,我猜您一开始就没有真正运行过您发布的代码。 【参考方案1】:这对我有用!
let user = message.mentions.members.first() || message.author;
let bal = db.fetch(`money_$message.guild.id_$user.id`)
if (bal === null) bal = 0;
let bank = await db.fetch(`bank_$message.guild.id_$user.id`)
if (bank === null) bank = 0;
let moneyEmbed = new Discord.MessageEmbed()
.setColor("RANDOM")
.setDescription(`**$user's Balance**\n\n__Pocket:__$bal\n__Bank:__$bank\n__Overall:__ $bank + bal`);
message.channel.send(moneyEmbed);
【讨论】:
请使用code formatting。【参考方案2】:我有一个类似的脚本和我的工作,我没有使用
if (bal === null) bal = 0
我的代码是这样的:
let goldAmount = db.get(`money_$message.author.id`)
let balEmbed = new Discord.RichEmbed()
.setTitle(`$message.author.username's Gold`)
.setColor([0,200,20])
.setDescription(`$goldAmount Gold`)
await message.channel.send(balEmbed);
您不需要将其作为 RichEmbed 发送,您可以直接发送 await message.channel.send(goldAmount);
【讨论】:
以上是关于尝试使用 quick.db 制作经济型机器人,但我的命令不起作用的主要内容,如果未能解决你的问题,请参考以下文章