首页 > 解决方案 > 自动删除在特定频道中发送的消息

问题描述

我很好奇是否有人可以在这里帮助我。

我的机器人有一个建议频道,供玩家提供建议,让服务器变得更好。
但是,它会因为他们聊天而聚集在一起。我很好奇是否有办法删除特定频道中的任何消息,除了机器人命令?

谢谢!

标签: javascriptdiscorddiscord.js

解决方案


好吧,您可以检查消息是否以您的前缀开头或由机器人发送:如果这些都不是,则表示它不是命令也不是命令响应。所有这一切都假设消息在那个频道中。

// ASSUMPTIONS:
// channel = your channel as a TextChannel
// prefix = your prefix as a string
// owner = you as a User

client.on('message', msg => {
  if (msg.channel != channel || msg.author.bot || msg.content.startsWith(prefix)) return;
  else msg.delete();
});

// if you want your messages to be ignored too:
client.on('message', msg => {
  if (msg.channel != channel || msg.author.bot || msg.content.startsWith(prefix) || msg.author == owner) return;
  else msg.delete();
});

推荐阅读