繁体   English   中英

discord.js message.channel 不是 function

[英]discord.js message.channel is not a function

我试图让我的机器人删除特定频道中不是图像的消息。

client.on("message", (message) => {
  let channel = client.channels.get(`642417479708049418`);
  if(!message.channel(channel)) {
    return
  } else {
  if(message.embeds.length > 0) {
    return
  } else {
    message.delete();
    message.channel.send("images only");
  }
}
});

该错误表明 message.channel 不是 function。

错误在.message.channel(channel)中,以验证通道是否是您想要的通道,因为您已经有了通道变量,只需比较两个 id,您还应该添加一个检查以查看是否消息是否来自机器人,因此机器人不会进入删除自己消息的循环:

client.on("message", (message) => {
    if (message.author.bot) return;

    let channel = client.channels.get(`642417479708049418`);
    if (message.channel.id != channel.id) {
        return
    } else {
        if (message.embeds.length > 0) {
            return
        } else {
            message.channel.send("images only");
            message.delete();
        }
    }
});

同样,当您在message.delete(); 请务必先发送您要发送的响应,因此请按以下顺序进行:

message.channel.send("images only");
message.delete();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM