Javascript 调用带括号的函数不需要';我什么也不退

Javascript 调用带括号的函数不需要';我什么也不退,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,当我运行我的代码时,它应该打印发送者的名字“adopted”,然后是第一个提到的用户 const { Client } = require('discord.js', 'async', 'discord-message-handler'); const bot = new Client(); const cfg = require('./config.json'); function adoptaUser() { var finalString = ''; finalStrin

当我运行我的代码时,它应该打印发送者的名字“adopted”,然后是第一个提到的用户

const { Client } = require('discord.js', 'async', 'discord-message-handler');
const bot = new Client();
const cfg = require('./config.json');
function adoptaUser() {
    var finalString = '';

    finalString += '**' + (user.username) + 'adopted' + (message.mentions.member.first) + '**' + ':heart:';
}

//Skips to command here!!

if(message.content.includes('hws:adopt')) {
    message.channel.send(adoptaUser(message.author.id));
}
    });

});

bot.login(cfg.token);
    //I only included the code which the function uses!!
虽然没有可见的语法错误,但仍会出现以下错误:

2台服务器上的Bot就绪
C:\Users\REMOVED\Desktop\Bot2\app.js:16
finalString+='**'+(user.username)+'已采用'+(message.indications.member.first)+'**'+':heart:';
^
ReferenceError:未定义用户
在adoptaUser(C:\Users\Moneq\Desktop\AutoRole\app.js:16:28)
在Client.bot.on.message(C:\Users\Moneq\Desktop\AutoRole\app.js:38:30)
在emitOne(events.js:116:13)
在Client.emit(events.js:211:7)
在MessageCreateHandler.handle(C:\Users\Moneq\Desktop\AutoRole\node\u modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
在WebSocketPacketManager.handle(C:\Users\Moneq\Desktop\AutoRole\node\u modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
在WebSocketConnection.onPacket(C:\Users\Moneq\Desktop\AutoRole\node\u modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
在WebSocketConnection.onMessage(C:\Users\Moneq\Desktop\AutoRole\node\u modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
在WebSocket.onMessage(C:\Users\Moneq\Desktop\AutoRole\node\u modules\ws\lib\event target.js:120:16)
在emitOne(events.js:116:13)
[nodemon]应用程序崩溃-正在等待文件更改,然后再启动。。。
尽管当我尝试调用不带括号的函数时,我从bot得到了响应,尽管它发送的是实际的函数而不是字符串


有关于此的帮助吗?

您正在将user.id传递给adoptaUser函数,此时该函数似乎需要一个消息对象

更改为:

message.channel.send(adoptaUser(message));
然后更改此选项:

(user.username)
对此

message.author.username
您还需要将return关键字添加到adoptaUser函数中


“调用”不带括号的函数不是函数调用,它是对函数对象的引用,因此它确实会返回对象的内容。

在哪里声明/定义了
user
message
呢?就像@Pointy say一样,您需要定义
user
message
不相关,但您不能这样做“尝试调用不带括号的函数”,因为您不再根据定义调用它(例外是getter/setter)。