我正在开发一个基本的 Discord.js 机器人,用于测试目的以及了解有关 Node.js 的更多信息。我的机器人中最重要的命令之一是自定义前缀命令。这是我当前的自定义前缀命令代码:
var db = require('quick.db');
var Discord = require('discord.js');
module.exports = {
name: 'configprefix',
execute(message) {
var PREFIX = db.get(`prefix_${message.guild.id}`)
if (PREFIX === null) PREFIX = ";"
if (!message.content.startsWith(PREFIX)) return
const args = message.content.substring(PREFIX.length).split(" ")
if (message.content.startsWith(`${PREFIX}configprefix`)) {
if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send("Only users with the **manage guild** permission can change the prefix!")
if (!args[1]) return message.channel.send("Please give a new prefix!")
if (args[1].length > 3) return message.channel.send("My prefix can only be **3 characters** or *less*!")
if (args[1] === db.get(`prefix_${message.guild.id}`)) return message.channel.send(`\`${args[1]}\` is already your prefix!`)
if (args[1] === ";") db.delete(`prefix_${message.guild.id}`)
db.set(`prefix_${message.guild.id}`, args[1])
user = message.author
const newprefixEmbed = new Discord.MessageEmbed()
.setColor('abffd6')
.setTitle(`<:agencycheckdiscord:837451694253408259> **My prefix has been successfully set to \`${args[1]}\`!**`)
.setDescription(`Change my prefix again by running this command: \`${args[1]}configprefix <prefix>\``)
.setAuthor(`${user.username}`, user.avatarURL)
.setTimestamp()
.setFooter('i wonder why they\'re called prefixes', 'https://th.bing.com/th/id/OIP.xAZeB_VDLm8w_QN0hkdctwAAAA?pid=ImgDet&rs=1');
message.channel.send(newprefixEmbed)
}
},
};
我正在使用 quick.db 数据库,因为我是初学者,而且 quick.db 对我来说很容易使用。但是,每当我运行我的机器人并尝试向我的机器人 ;configprefix ? 发送此消息或任何消息时,我的机器人都不会响应我,也不会更改前缀任何一个。当我检查终端时,机器人也没有返回任何错误?
我试图通过再次检查我的数据库并查看是否有任何值设置错误来解决此问题,但似乎没有任何异常。我该如何解决这个问题?