我无法让该机器人向该机器人所在的另一个公会发出邀请。
我尝试为我的机器人赋予管理员角色,以确保其具有权限。
if(msg.content.startsWith('-createinvite')) {
const args = msg.content.split(' ').slice(1)
if(!args[0])
var invitechannels = guild.channels.filter(c => c.members.get(bot.user.id).hasPermission("CREATE_INSTANT_INVITE")).first();
var guild = client.guilds.get(args[0]);
if (!guild) return msg.reply("The bot isn't in the guild with this ID.");
if(!invitechannels) return msg.channel.send('No Channels found with permissions to create Invite in!')
console.log(invitechannels)
invitechannels.random().createInvite().then(invite=> msg.channel.send('Found Invite:\n' + invite.code))
}
我尝试了不同类型的代码,但似乎无法正常工作。
答案 0 :(得分:1)
if(msg.content.startsWith('-createinvite')) {
const args = msg.content.split(' ').slice(1)
let guild = client.guilds.get(args[0]);
if (!guild) return message.reply("The bot isn't in the guild with this ID.");
let invitechannels = guild.channels.filter(c=> c.permissionsFor(guild.me).has('CREATE_INSTANT_INVITE'))
if(!invitechannels) return message.channel.send('No Channels found with permissions to create Invite in!')
invitechannels.random().createInvite()
.then(invite=> message.channel.send('Found Invite:\n' + invite.code))
}
您在获取行会之前正在验证该机器人是否具有行会权限。
这不是c.members.get(bot.user.id).hasPermission("CREATE_INSTANT_INVITE")).first()