javascript - 自动删除在特定频道中发送的消息
问题描述
我很好奇是否有人可以在这里帮助我。
我的机器人有一个建议频道,供玩家提供建议,让服务器变得更好。
但是,它会因为他们聊天而聚集在一起。我很好奇是否有办法删除特定频道中的任何消息,除了机器人命令?
谢谢!
解决方案
好吧,您可以检查消息是否以您的前缀开头或由机器人发送:如果这些都不是,则表示它不是命令也不是命令响应。所有这一切都假设消息在那个频道中。
// 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();
});
推荐阅读
- xamarin - 在 iO 返回时重定向到主屏幕
- javascript - 为什么 `is` 属性仅适用于覆盖内置元素的 Web 组件?
- sql - 在 SQL Server 中将行数据转换为列
- wagtail - 检索基本页面类型的所有子项
- python - 我不明白为什么会生成以下错误“SECRET_KEY 设置不能为空”。在执行 python manage.py runserver
- scala - Spark:如何在过去 10 天内从 s3 获取最新文件
- elasticsearch - 通过 Logstash 建立索引时如何修复 Elasticsearch 中的重复文档?
- github - 我的索引文件无法正确呈现为 github 页面,我做错了什么?
- assembly - 在 MARS 中创建 while 循环程序时出错“.asciiz 不是有效的整数常量或标签”
- r - 在 data.table 中按组分配间隔/箱