javascript - 避免响应机器人
问题描述
我正在研究 discord bot 并将 ping 命令作为测试,但它会循环,因为它会响应自身。但是,如果我message.author.bot === false
输入每个命令,我的代码就会变得一团糟!
client.on("message", message => {
if(message.content === "ping" && message.author.bot === false){
message.channel.send("pong")
} else if(message.content === "pong" && message.author.bot === false){
message.channel.send("ping")
}
})
有没有更好的方法来解决这个问题?
解决方案
您需要放在if(message.author.bot) return;
之后client.on("message", message => {
,结果得到:
client.on("message", message => {
if(message.author.bot) return;
if(message.content === "ping" && message.author.bot === false){
message.channel.send("pong")
} else if(message.content === "pong" && message.author.bot === false){
message.channel.send("ping")
}
})
忽略来自机器人的消息
推荐阅读
- c++ - 带有 std::tuple_cat 的模板实例化 decltype 和 declval
- javascript - 使用来自 JSON 对象的数据填充具有多条线的 Chart.Js 折线图
- javascript - 使用 Typescript 在 Webpack 编译期间动态导入模块
- r - 计算 R 中具有特定名称模式的列的行均值
- github - 如何获取已合并到 master 的 pull request 列表?
- javascript - 如何在firebase web中获得新添加的孩子?
- django-rest-framework - 不涉及任何 Django 模型的视图检索 mixin
- java - storm-kafka-client:1.2.2 KafkaSpoutConfig 使用 Yaml
- gradle - 使用 spotbugs 的简单 gradle 文件并找到安全漏洞?
- logging - Azure 中微服务的审核日志 POST/PUT/DELETE 操作