python - Discord Python bot 删除某个频道中不是命令的消息
问题描述
所以我有一个#support频道,我的discord成员可以在其中输入=support,机器人会向他们发送消息以帮助他们,之后机器人将删除用户在频道中输入的=support命令以保持频道清洁,但是在这个频道中,他们也可以输入任何不是命令的消息,并且机器人不会删除它,如果不是命令,机器人有没有办法删除消息?
解决方案
这可以使用on_message
@bot.event
async def on_message(m):
if m.channel.id == ChannelIDOfSupport Channel:
if m.content.replace(bot.prefix, "") not in [i.name for i in bot.commands]:
await m.delete()
推荐阅读
- jquery - 在选择另一个 select2 下拉列表时重置一个 select2 下拉列表的元素
- python - Python unicode 索引显示不同的字符
- node.js - 如何在 MongoDB 中查找文档而不是通过它的 _id 和我们自己的索引?
- forms - 表格中的组合框下拉列表
- java-8 - 令牌“1”上的语法错误,枚举 Java 中预期的标识符
- angular - Angular 6模块未正确导入
- quickbooks - 继续查询 Quickbooks 数据的最佳方式
- javascript - 用于循环条件迭代和重置变量的 Javascript
- excel - 只有第一个 IF(AND) 语句有效,其余的无效
- javascript - 如何避免 ReactJs 中的 CSS 冲突