嘿嘿, 我尝试执行一个“命令”,将错误消息发送到我的私人不和谐频道,这样我就可以看到它运行的对象和时间。这是我的代码!
client.on('error', async guild => {
let errorchannel = await client.channels.fetch('ID');
if(!guild.available) return
if(!guild.owner && guild.ownerID) await guild.members.fetch(guild.ownerID);
if(!deleteChannel) return;
const embed = new Discord.MessageEmbed()
.setTitle(`Error!`)
.setDescription(`${guild.name}`)
.setColor("BLACK")
.setThumbnail(guild.iconURL())
.addField(`Owner`, `${guild.owner.user.tag}`)
.addField(`Error`, error)
.addField(`Member Count`, `${guild.memberCount}`)
.setFooter(`${guild.id}`)
errorchannel.send(embed);
});
来自评论的代码:
client.on('error', async (err) => {
let errormsg = await client.channels.fetch('ID')
const embed = new Discord.MessageEmbed()
.setTitle(`Error!`)
.setDescription(`${err.guild.name}`)
.setColor("BLACK")
.setThumbnail(err.guild.iconURL())
.addField(`Owner`, `${err.guild.owner.user.tag}`)
.addField(`Error`, err.message)
.addField(`Member Count`, `${err.guild.memberCount}`)
.setFooter(`${err.guild.id}`)
errormsg.send(embed);
});
答案 0 :(得分:1)
你好像有点糊涂了,client.on("error")
确实存在,但是你的函数是错误的。
client.on('error', async (err) => {
let errorchannel = await client.channels.fetch('ID');
//if(!guild.available) return
//if(!guild.owner && guild.ownerID) await guild.members.fetch(guild.ownerID);
//if(!deleteChannel) return; these lines need to be re-written, they do not work
const embed = new Discord.MessageEmbed()
.setTitle(`Error!`)
.setDescription(`${err.guild.name}`)
.setColor("BLACK")
.setThumbnail(err.guild.iconURL())
.addField(`Owner`, `${err.guild.owner.user.tag}`)
.addField(`Error`, err.message)
.addField(`Member Count`, `${err.guild.memberCount}`)
.setFooter(`${err.guild.id}`)
errorchannel.send(embed);
});
这应该有效,您混淆了 guild
和 error
的语法
没有发送任何内容的原因是您使用 return
语句捕获错误 - 由于 guild.available
从未作为函数存在,因此每次运行命令时它都会返回。