Javascript “如何修复无法读取的属性”;“发送”;未定义的

Javascript “如何修复无法读取的属性”;“发送”;未定义的,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,这个问题可能有一些重复,但代码不同,没有一个答案适合我。我刚接触discord.js,所以这可能只是一个愚蠢的错误 这是我的密码- var Discord=require('Discord.io'); var记录器=需要('winston'); var auth=require('./auth.json'); //配置记录器设置 记录器。移除(记录器。运输。控制台); logger.add(新logger.transports.Console、{ 彩色化:真 }); logger.level='

这个问题可能有一些重复,但代码不同,没有一个答案适合我。我刚接触discord.js,所以这可能只是一个愚蠢的错误

这是我的密码-

var Discord=require('Discord.io');
var记录器=需要('winston');
var auth=require('./auth.json');
//配置记录器设置
记录器。移除(记录器。运输。控制台);
logger.add(新logger.transports.Console、{
彩色化:真
});
logger.level='debug';
//初始化Discord Bot
var bot=new Discord.Client({
令牌:auth.token,
自动运行:对
});
bot.on('ready',函数(evt){
logger.info('Connected');
logger.info('登录身份:');
logger.info(bot.username+'-('+bot.id+');
});
client.on('message',函数(message){
如果(message.startsWith('^')){//条件为false,即使消息以开头^
if(message.startsWith(“^ping”)){
message.notices.users.forEach((k,v)=>{
message.channel.send('Hello,+v+'!');
});
}else if(message.startsWith(“^dice”)){
message.channel.send('您滚动了一个a'+数学地板((Math.random()*100)+1)+“!”);
}否则{
message.channel.send(“未找到命令”);
}
}否则{
message.channel.send(“debug”)//此行出错
}
});
我真的不知道如何解决这个问题,所以我尝试过的所有解决方案都导致了这个错误。 此外,如果您看到此代码的任何其他修复,请指出它。以下是错误:

        message.channel.send("debug")
                        ^

TypeError: Cannot read property 'send' of undefined
    at DiscordClient.<anonymous> (C:\Users\user\Documents\UltraBot\bot.js:32:25)
    at DiscordClient.emit (events.js:315:20)
    at DiscordClient.handleWSMessage (C:\Users\user\Documents\UltraBot\node_modules\discord.io\lib\index.js:1854:11)
    at WebSocket.emit (events.js:315:20)
    at Receiver.ontext (C:\Users\user\Documents\UltraBot\node_modules\ws\lib\WebSocket.js:841:10)
    at C:\Users\user\Documents\UltraBot\node_modules\ws\lib\Receiver.js:536:18
    at Receiver.applyExtensions (C:\Users\user\Documents\UltraBot\node_modules\ws\lib\Receiver.js:371:5)
    at C:\Users\user\Documents\UltraBot\node_modules\ws\lib\Receiver.js:508:14
    at Receiver.flush (C:\Users\user\Documents\UltraBot\node_modules\ws\lib\Receiver.js:347:3)
    at Receiver.finish (C:\Users\user\Documents\UltraBot\node_modules\ws\lib\Receiver.js:541:12)
message.channel.send(“调试”)
^
TypeError:无法读取未定义的属性“send”
不和谐的客户。(C:\Users\user\Documents\UltraBot\bot.js:32:25)
位于DiscordClient.emit(events.js:315:20)
在DiscordClient.handleWSMessage(C:\Users\user\Documents\UltraBot\node\u modules\discord.io\lib\index.js:1854:11)
在WebSocket.emit(events.js:315:20)
在Receiver.ontext(C:\Users\user\Documents\UltraBot\node\u modules\ws\lib\WebSocket.js:841:10)
在C:\Users\user\Documents\UltraBot\node\u modules\ws\lib\Receiver.js:536:18
在Receiver.applyExtensions(C:\Users\user\Documents\UltraBot\node\u modules\ws\lib\Receiver.js:371:5)
在C:\Users\user\Documents\UltraBot\node\u modules\ws\lib\Receiver.js:508:14
在Receiver.flush(C:\Users\user\Documents\UltraBot\node\u modules\ws\lib\Receiver.js:347:3)
在Receiver.finish(C:\Users\user\Documents\UltraBot\node\u modules\ws\lib\Receiver.js:541:12)

问题在于,在使用软件包时,您正在为使用代码。你发送和接收信息的方式大不相同。我建议您切换到discord.js,因为这正是您编写代码的目的。

您是否尝试过
console.log()
ing消息或频道,以查看问题的根源?另一个问题是您应该使用
message.content.startsWith()
而不是
message.startsWith()
。另外,您在使用discord.io时标记了这个discord.js。你是故意使用discord.io吗?@Levi_OP我试着在控制台前记录一条消息,但当我添加了错误,消息后的内容显示:
TypeError:无法读取未定义的属性“startsWith”
查看我的答案,现在当我运行
node bot.js
时,我的bot无法联机。我是否应该做一些不同的事情?我是否应该对代码的开头进行任何更改?转到以获取有关代码外观以及如何设置代码的信息。