Discord.js:message.guild.channels.forEach 不是函数
- 作者: ADAMSIR
- 来源: 51数据库
- 2022-10-21
问题描述
我正在使用 Discord.js 创建一个 Discord 机器人
I'm creating a Discord Bot using Discord.js
我正在创建静音命令,但当我想为每个频道禁用静音角色的发言权限时,我收到此错误:
I'm creating a mute command but when I want to disable speaking permission for the Mute role for each channel, I get this error:
TypeError: message.guild.channels.forEach is not a function
我有 V12.我查看了其他一些选项,但找不到任何可行的选项.
I have V12. And I looked at some other options but I couldn't find any working options.
if(!toMute) return message.reply('It looks like you didnt specify the user!');
if(toMute.hasPermission('MANAGE_MESSAGES')) return message.reply("can't mute them");
let muterole = message.guild.roles.cache.find(r => r.name === 'muted');
if(!muterole){
try{
muterole = await message.guild.roles.create({
name: "muted",
color: "#000000",
permissions: []
})
message.guild.channels.forEach(async (channel, id) => {
await channel.overwritePermission(muterole, {
SEND_MESSAGES: false,
ADD_REACTIONS: false
});
});
}catch(e){
console.log(e.stack);
}
} return message.channel.send('Cant')
let mutetime = args[1];
if(!mutetime) return message.reply('You didnt specify the time');
await(toMute.addRole(muterole.id));
message.reply(`Successfully muted <@${toMute.id}> for ${ms(mutetime)}`);
setTimeout(function(){
toMute.removeRole(muterole.id);
message.channel.send(`<@${toMute.id}> has been unmuted!`);
}, ms(mutetime));
}
推荐答案
请尝试
message.guild.channels.cache.forEach((channel)=>{
...
})
参考:https://discord.js.org/#/docs/main/stable/class/GuildChannelManager?scrollTo=cache
推荐阅读
热点文章
检查拆分键盘
0
带有“上一个"的工具栏和“下一个"用于键盘输入AccessoryView
0
Activity 启动时显示软键盘
0
UIWebView 键盘 - 摆脱“上一个/下一个/完成"酒吧
0
在 iOS7 中边缘滑动时,使键盘与 UIView 同步动画
0
我的 iOS 应用程序中的键盘在 iPhone 6 上太高了.如何在 XCode 中调整键盘的分辨率?
0
android:inputType="textEmailAddress";- '@' 键和 '.com' 键?
0
禁用 iPhone 中键盘的方向
0
Android 2.3 模拟器上的印地语键盘问题
0
keyDown 没有被调用
0
