【问题标题】:discord.js message.channel is not a functiondiscord.js message.channel 不是一个函数
【发布时间】:2020-03-07 09:32:04
【问题描述】:

我正在尝试让我的机器人删除特定频道中的非图片消息。

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 不是函数。

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    错误在!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();
    

    【讨论】:

    • 删除问题是机器人不知道我希望它在哪个频道中工作
    • 所以你希望代码只在一个特定的渠道中运行,对吧?
    • 是的。 ID 变量的通道
    • 我添加了一段新代码,看看它是否适合你
    • 使用它,它进入了发送消息并删除它的循环
    猜你喜欢
    • 2021-10-15
    • 2020-07-23
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 2020-12-07
    • 2020-08-23
    • 2020-01-22
    相关资源
    最近更新 更多