Javascript TypeError:无法读取属性';公会';未定义的I';我正在写一个欢迎代码,但我一直收到那个错误 const db=require('quick.db') const Discord=require('Discord.js') module.exports=(客户端)=>{ client.on('guildMemberAdd',(成员,消息)=>{ 让welcomechannel=db.get(`welcome\u${message.guild.id}`) 让welcomemsg=db.get(`welcomemsg_${message.guild.id}`) 如果(welcomechannel=null | |未定义)返回 如果(welcomemsg=null | |未定义)welcomemsg=`嘿!一定要阅读规则,玩得开心` let embed=new Discord.MessageEmbed() .setColor(“金色”) .setDescription(welcomemsg) welcomechannel.send(嵌入) }) }
事件仅随参数一起发出。 您必须从Javascript TypeError:无法读取属性';公会';未定义的I';我正在写一个欢迎代码,但我一直收到那个错误 const db=require('quick.db') const Discord=require('Discord.js') module.exports=(客户端)=>{ client.on('guildMemberAdd',(成员,消息)=>{ 让welcomechannel=db.get(`welcome\u${message.guild.id}`) 让welcomemsg=db.get(`welcomemsg_${message.guild.id}`) 如果(welcomechannel=null | |未定义)返回 如果(welcomemsg=null | |未定义)welcomemsg=`嘿!一定要阅读规则,玩得开心` let embed=new Discord.MessageEmbed() .setColor(“金色”) .setDescription(welcomemsg) welcomechannel.send(嵌入) }) },javascript,discord.js,Javascript,Discord.js,事件仅随参数一起发出。 您必须从成员对象访问帮会属性 const db = require('quick.db') const Discord = require('discord.js') module.exports = (client) => { client.on('guildMemberAdd', (member, message) => { let welcomechannel = db.get(`welcome_${me
成员
对象访问帮会
属性
const db = require('quick.db')
const Discord = require('discord.js')
module.exports = (client) => {
client.on('guildMemberAdd', (member, message) => {
let welcomechannel = db.get(`welcome_${message.guild.id}`)
let welcomemsg = db.get(`Welcomemsg_${message.guild.id}`)
if(welcomechannel = null || undefined) return
if(welcomemsg = null || undefined) welcomemsg = `Hey <@${member.id}>! Make sure to read the rules and have a great time!`
let embed = new Discord.MessageEmbed()
.setColor('GOLD')
.setDescription(welcomemsg)
welcomechannel.send(embed)
})
}
代码中还有几个问题=
是JS中的赋值运算符。您希望使用=
或==
(严格相等)进行比较。您检查多个值的条件不正确
如果(!welcomechannel==null | | welcomechannel==undefined){
返回
}
或者更好
if(!welcomechannel){
返回
}
类似地,您可以使用以下命令修复welcomemsg
条件
if(!welcomemsg){
welcomemsg=`嘿!一定要阅读规则,玩得开心`
}
或者更好
const DEFAULT\u MESSAGE=`嘿!一定要阅读规则,玩得开心`
const welcomemsg=db.get(`welcomemsg_${guildId}`)|默认消息
这是固定密码
client.on('guildMemberAdd',(成员)=>{
const{id:guildId}=member.guild
const welcomechannel=db.get(`welcome{guildId}`)
const DEFAULT_MESSAGE=`嘿!一定要阅读规则,玩得开心`
const welcomemsg=db.get(`welcomemsg_${guildId}`)|默认消息
如果(!welcomechannel){
返回
}
//代码的其余部分
})
注意,如果语句不起作用,您的。单个=
如果用于为变量赋值,则在if
语句中需要2或3个=
。您还需要在这两种情况下传递变量:if(welcomechannel==null | | welcomechannel==undefined)
我这样做了,但我得到另一个错误welcomechannel.send(embed)^TypeError:无法读取未定义的属性“send”如何解决此问题?是的,我将welcomemsg和Channel的message.guild.id替换为member.guild.id如果welcomechannel
和welcomemsg
不正确,您要处理的条件不正确。让我更新我的答案。@Nelly-o刚刚添加了一个关于条件问题的解释。你在哪里添加的?
let welcomechannel = db.get(`welcome_${member.guild.id}`)
let welcomemsg = db.get(`Welcomemsg_${member.guild.id}`)