javascript - 未定义消息时遇到问题 - Discord JS
问题描述
我在尝试制作 Discord 机器人时遇到困难。我在机器人实际运行方面取得了进展,并已添加到服务器中,但我遇到了问题,它实际上按我想要的方式工作。
我不断收到此错误:
if (message.content.includes("i'm home")) {message.channel.send(message = "Welcome home!");}
^
ReferenceError: message is not defined
at Object.<anonymous> (C:\Users\Rick\Documents\CiscoBot\mybot.js:7:1)
at Module._compile (module.js:652:30)
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 Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
我不完全明白出了什么问题,尤其是在考虑我的代码(全部)时:
let Discord = require ("discord.js");
let client = new Discord.Client();
client.on("message", function(message) { let input = message.content()})
{
if (message.content.includes("i'm home")) {message.channel.send(message = "Welcome home!");}
}
{
if (message.content.includes("can we talk")) {message.channel.send(message = "Of course, what's the matter?");}
}
{
if (message.content.includes("that's it")) {message.channel.send(message = "Sorry to hear. Tomorrow is a new day!");}
}
{
if (message.content.includes("i need a hug")) {message.channel.send(message = "Gladly! [Hugs] :3");}
}
{
if (message.content.includes("whisper dirty things to me")) {message.channel.send(message = "[Whispers] The dishes are nasty. Clean them.");}
}
{
if (message.content.includes("i'm leaving now")) {message.channel.send(message = "Okay! See you later! :heart:");}
};
client.login("My App Token");
我应该如何解决这个问题?我对此非常陌生,真的很想制作这个机器人。在花了一点时间之后,我决心完成它。它的目的是在检测到带有自己的短语的某些单词时做出响应。我已经修复了我知道的语法错误,只是“消息未定义”是现在的问题。
解决方案
您应该将 IF 语句放在 client.message 函数的回调中。
client.on('message', function(message) {
if (message.content.includes('i\'m home')) {
message.channel.send(message = 'Welcome home!');
}
if (message.content.includes('can we talk')) {
message.channel.send(message = 'Of course, what\'s the matter?');
}
if (message.content.includes('that\'s it')) {
message.channel.send(message = 'Sorry to hear. Tomorrow is a new day!');
}
if (message.content.includes('i need a hug')) {
message.channel.send(message = 'Gladly! [Hugs] :3');
}
if (message.content.includes('whisper dirty things to me')) {
message.channel.send(message = '[Whispers] The dishes are nasty. Clean them.');
}
if (message.content.includes('i\'m leaving now')) {
message.channel.send(message = 'Okay! See you later! :heart:');
}
});
client.login("My App Token");
推荐阅读
- python - 使用类层次结构和 mypy 进行静态类型测试
- c++ - 有没有办法检查用户输入是否是数字?
- swiftui - NavigationView 中的 SwiftUI 自定义动画过渡?
- java - 使用注释修改 REST 参数 - Java EE8
- bash - ZSH:在脚本文件中执行函数
- c++ - 黑客等级 C++ 上的 Mini-Max Sum
- java - 如何减去两个时间值?
- react-native - 如何读取本地 css 文件以将其注入 react-native WebView?
- python - 正确使用 __format__
- android - 如何在反应原生模式上设置borderRadius?