如何解决我如何绕过冷却脚本 discord.js/ 命令上的 cetian 角色,该命令将某个命令限制到某个频道
这是我目前的代码,如果你有某个角色,那么你可以绕过冷却时间,如果有人知道如何制作将某个命令限制到某个频道的命令,我想把它放在那里,而不是有这么长的 message.channel.id。
const discord = require('discord.js');
const fetch = require('node-fetch');
const talkedRecently = new Set();
module.exports.run = async(client,message,args,queue,searcher,) => {
if (talkedRecently.has(message.author.id)) {
message.channel.send("Wait 1 minute before getting typing this again. " +'<@'+ message.author.id + '>');
} else {
switch(args[0].toLowerCase()){
case 'neko':
if(message.channel.id === '739002385531404288'||
message.channel.id === '646849145289834506'||
message.channel.id === '785079847763574794'||
message.channel.id === '782891383361896469'||
message.channel.id === '784417039425994772'){
fetch('https://nekos.life/api/v2/img/lewd')
.then(res => res.json())
.then(json => {
let nekoEmbed = new discord.MessageEmbed()
.setTitle('Lewd Nekos! (=^・ω・^=)')
.setimage(json.url)
message.channel.send(nekoEmbed)
})
}else{
return}}
talkedRecently.add(message.author.id);
setTimeout(() => {
talkedRecently.delete(message.author.id);
},60000);
}
}
module.exports.config = {
name: "hentai",aliases: ['ht']
}
```
解决方法
回答你的第一个问题:
只需检查成员是否具有特定角色。如果他们这样做,请构建您的 if 语句,以便在他们具有该角色时不会触发
检查角色时确保使用 message.member
if (talkedRecently.has(message.author.id) && !message.member.roles.cache.has('bypass role id here')) {
// Your cooldown message
}
详细了解Roles#has
回答你的第二个问题:
您可以拥有一个频道 ID 数组,然后使用 includes
检查数组中的任何 ID 是否与当前频道 ID 匹配
const ids = ['id1','id2','id3','id4'] // And so on
if (ids.includes(message.channel.id)) {
// Your Code
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。