Javascript Node.js Discord Bot:TypeError:无法读取属性';发送';未定义的

Javascript Node.js Discord Bot:TypeError:无法读取属性';发送';未定义的,javascript,node.js,discord,discord.js,send,typeerror,Javascript,Node.js,Discord,Discord.js,Send,Typeerror,我希望我的公共bot在特定通道和特定服务器中发送消息。但是,我有一个错误。。。这是我的代码: client.on('message',msg=>{ if(msg.content.startsWith('+specifictest')){ var channellog=msg.client.channels.get('352496750327496725'); var guiiild=msg.client.guilds.get('343913599686934539').channellog; G

我希望我的公共bot在特定通道和特定服务器中发送消息。但是,我有一个错误。。。这是我的代码:

client.on('message',msg=>{
if(msg.content.startsWith('+specifictest')){
var channellog=msg.client.channels.get('352496750327496725');
var guiiild=msg.client.guilds.get('343913599686934539').channellog;
Guiild.send({
嵌入:新建Discord.RichEmbed()
.setColor(“#FFFFFF”)
.setAuthor(“Dessin”)
StEngress(“需求量”)
})
}
})
还有,我的错误:
TypeError:无法读取未定义的属性“send”
此错误(在您的上下文中)意味着您的变量
guilild
未正确填充,因此在尝试使用不存在的属性(在本例中为
send
函数)时出现意外故障

尝试/抓住 您可以将其包装在
try/catch块中

client.on('message', msg => {
  if (msg.content.startsWith('+specifictest')) {
   try{
    var channellog = msg.client.channels.get('352496750327496725');
    var guiiild = msg.client.guilds.get('343913599686934539').channellog;
    guiiild.send({embed: new Discord.RichEmbed().setColor("#FFFFFF").setAuthor("Dessin").setDescription(`Demandé par <@${msg.author.id}>`)})
   }catch(e){console.log("[ERROR]",e)}
  }
})
client.on('message',msg=>{
if(msg.content.startsWith('+specifictest')){
试一试{
var channellog=msg.client.channels.get('352496750327496725');
var guiiild=msg.client.guilds.get('343913599686934539').channellog;
GuiILID.Enter({嵌入:新的不一致。RiffHead)(.SuffCube)(“yffffff”)。SETION(“Dessin”)
}catch(e){console.log(“[ERROR]”,e)}
}
})
但是如果
msg.client.guilds.get('343913599686934539'),它仍然会给您错误。channellog
不会返回任何包含
的内容。send
您可以尝试以下方法:

client.channels.get("ID").send("Your message")
ID将是您要向其发送消息的频道的ID。因此,在您的情况下,请尝试:

client.on('message', msg => {
  if (msg.content.startsWith('+specifictest')) {
    client.channels.get("352496750327496725").send({embed: new Discord.RichEmbed().setColor("#FFFFFF").setAuthor("Dessin").setDescription(`Demandé par <@${msg.author.id}>`)})
  }
})
client.on('message',msg=>{
if(msg.content.startsWith('+specifictest')){
客户端。通道。获取(“352496750327496725”)。发送({嵌入:新的龃龉。RiffHead)()“设置颜色”(“Dessin”)。
}
})
这可能很晚了,但是 尝试使用
wait

我认为您使用的是Disord v11而不是12,我建议升级到12,但这是您的决定

V11

client.on('message',异步(msg)=>{
if(msg.content.startsWith('+specifictest')){
const channel=wait client.channels.get(“352496750327496725”)
通道。发送({嵌入:新的龃龉。RiffHead)()“设置颜色”(“Dessin”)。
}
})
v12

client.on('message',异步(msg)=>{
if(msg.content.startsWith('+specifictest')){
const channel=wait client.channels.cache.find(x=>x.id==“352496750327496725”)
Stase.发送(new DistReal.MeaseActudio).StCube(“yffffffff”). SETION(“Dessin”). SETATED(“需求EAR ${MSG.作者})})/这是相同的
}
})

我尝试了您的代码,现在出现了以下错误:[error]TypeError:无法读取未定义的属性“send”:c@SplatingWorld,你明白我的答案了吗?(不仅仅是复制粘贴)是的,对不起…:channellog不是一个函数吗?或者不是有类似于guild.GetChannelLogs()的东西吗?谢谢兄弟,你的生活更安全了,非常感谢