discord - (已关闭)Discord bot 欢迎消息和留言不起作用
问题描述
这是我用我的不和谐机器人设置的欢迎信息和留言。它目前不工作。它没有发送任何错误。如果您能帮助我,将不胜感激。这是我无法修复的错误之一。这可能只是我犯的一个简单错误。
client.on('guildMemberAdd', member =>{
const welcomemessage = new Discord.MessageEmbed()
.setColor("#0099ff")
.setDescription(`Welcome <@${member.user.id}> to the server! Please take the time to read <#758441509371641866> and <#758441426807423056>`);
message.guild.member.cache.get(user.id).then(function(){
let userjoinchat = message.guild.channels.cache.find(x => x.name === "welcome");
userjoinchat.send(welcomemessage);
})
})
client.on('guildMemberRemove', member =>{
const byemessage = new Discord.MessageEmbed()
.setColor("#0099ff")
.setDescription(`Bye <@${member.user.id}>, I hope you enjoyed your stay!`);
message.guild.member.cache.get(user.id).then(function(){
let userleavechat = message.guild.channels.cache.find(x => x.name === "bye");
userleavechat.send(byemessage);
})
})
解决方案
在您的代码中,您尝试访问该message
对象。问题是您正在使用的事件中没有消息。幸运的是,这很容易解决。您所要做的就是访问member
您确实有权访问的对象。
我在这里更正了您的代码。我还删除了一些不需要的行并添加了额外的检查,因此如果找不到通道,您将不会收到错误消息。
client.on('guildMemberAdd', member => {
console.log("someone joined");
const welcomemessage = new Discord.MessageEmbed()
.setColor("#0099ff")
.setDescription(`Welcome ${member} to the server! Please take the time to read <#758441509371641866> and <#758441426807423056>`);
let userjoinchat = member.guild.channels.cache.find(x => x.name === "welcome");
if (!userjoinchat) return;
userjoinchat.send(welcomemessage);
})
client.on('guildMemberRemove', member => {
console.log("someone left");
const byemessage = new Discord.MessageEmbed()
.setColor("#0099ff")
.setDescription(`Bye ${member}, I hope you enjoyed your stay!`);
let userleavechat = member.guild.channels.cache.find(x => x.name === "bye");
if (!userleavechat) return;
userleavechat.send(byemessage);
})
我还在console.log()
每个事件的开头添加了一个,这样您就可以确保当有人加入或离开时它们实际上正在发射。如果不是这种情况,请确保您在机器人开发人员设置中启用“特权意图”。
推荐阅读
- go - gRPC 流拦截器未将上下文传递给请求方法
- php - 如何使用 Laravel 广播实现高速
- java - 如何将双打列表减少为字符串?
- javascript - 切换按钮侧面猫头鹰日期时间选择器
- android - 本机基地的复选框和单选按钮演示不工作
- angular - ng2-charts条形图中堆积列之间的线
- ssh - 如何修复 ngrok 转发端口?
- python-3.x - 尝试将 python 脚本作为可执行文件运行时“加载 Python 库时出错”
- command-line - 将命令提示符的内容复制到剪贴板
- java - 为什么我的代码的else部分没有触发游戏的reset功能?