【发布时间】:2020-01-22 17:09:52
【问题描述】:
我一直在尝试在命令处理程序上实现复杂的代码,但随后我收到一条错误消息:
TypeError: bal is not a function
at Object.execute (C:\Users\tom\Documents\TJ\bot\commands\uwu uwubon.js:17:7)
at Client.client.on.message (C:\Users\tom\Documents\TJ\bot\index.js:153:11)
at Client.emit (events.js:198:13)
at MessageCreateHandler.handle (C:\Users\tom\Documents\TJ\bot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (C:\Users\tom\Documents\TJ\bot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65)
at WebSocketConnection.onPacket (C:\Users\tom\Documents\TJ\bot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (C:\Users\tom\Documents\TJ\bot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
at WebSocket.onMessage (C:\Users\tom\Documents\TJ\bot\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:198:13)
at Receiver.receiverOnMessage (C:\Users\tom\Documents\TJ\bot\node_modules\ws\lib\websocket.js:789:20)
老实说,我对 javascript 了解不多,因此我很难单独解决问题。我尝试了各种方法来解决这个问题,从在 var、let 和 const 之间进行试验,到完全改变代码的组成,但都无济于事。
如果你想知道我的代码是什么样子的,这里是:
const Discord = require('discord.js')
module.exports = {
name: 'uwubon',
colldown: 3,
guildOnly: false,
aliases: [],
rank: 1,
description: '',
execute(message, args) {
var bal = require('../db/uwus.json')
let uwuval = 1000
let menuser = message.guild.member(message.mentions.users.first() || message.guild.member.get(args[0]));
let curuwu = bal[message.guild.member(message.mentions.users.first() || message.guild.member.get(args[0])).uwus]
if (message.author.id == 335562919364263938) {
bal(menuser).uwus = curuwu + uwuval
} else return message.reply('You are not eligible for that command!')
},
};
PS:对于那些想知道的人,是的,我确实重新发布了这个,因为我不小心使用了不同版本的命令代码。
【问题讨论】:
-
var bal = require('../db/uwus.json')...好吧,bal绝对不是函数,不能再多说了...看来您是要输入bal[menuser].uwus = curuwu + uwuval -
您似乎将
bal设置为 json 文件,但随后将其用作函数。 -
@Gavin 该文件是一个 .js 文件,如此处所示imgur.com/a/HIUly6o
-
@JaromandaX 我需要一种定义 bal 的方法,因为它位于与我的主 js 文件不同的 js 文件中。
-
您已经定义了 bal ...它是
var bal = require('../db/uwus.json')...但看起来您仍然想输入bal[menuser].uwus = curuwu + uwuval,因为您无法为函数的结果赋值,因为这没有任何意义 - 你有没有尝试过?
标签: javascript node.js command discord.js args