所以我收到一个奇怪的错误消息,看起来像这样:
class Field {
constructor(element) {
this.element = element;
}
validate() {
console.log("test");
}
init() {
`$`(this.element).blur(function () {
this.validate(); // Uncaught TypeError: this.validate is not a function
console.log("do stuff");
});
}
}
$(function(){
var element = `$`('#Bla');
var field = new Field(element);
field.init();
});
所以它以前可以工作,但是我已经安装了所有依赖项。 Javascript代码如下:
SyntaxError: Unexpected identifier
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at /home/remix867/bot_commando/node_modules/require-all/index.js:52:46
Config.json只是存储所有随机引号的简单json。
问题应该在第20行中,我在其中定义了头像网址,但是如果我删除此行,它会在另一行中显示其他内容,并且错误完全相同。
预先感谢:)
答案 0 :(得分:1)
使用Commando创建命令时,需要将要执行的代码放入类的.run
方法中。
在您的情况下,代码应如下所示:
module.exports = class EchoCommand extends Command {
constructor(client) {
super(client, {
name: 'quote',
group: 'quote',
memberName: 'quote',
description: 'Echoes a random Quote.',
details: oneLine `,
I'll say out a quote`,
examples: ['quote']
});
}
async run(message) {
const avatarURL = message.author.avatar ? message.author.avatarURL : 'https://discordapp.com/assets/0e291f67c9274a1abdddeb3fd919cbaa.png';
const embed = new Discord.RichEmbed()
.setAuthor(`${message.author.tag}`, `${avatarURL}`);
.setColor(0x0000FF);
.setDescription(quotes[Math.floor(Math.random() * quotes.length)]);
.setTimestamp();
await message.channel.send({
embed
});
}
};
如果在命令中添加了参数,它将看起来像这样:
aysnc run(message, {arg1, arg2, arg3, ...args}) {...}