如何使Discord机器人在其他行业中创建邀请

时间:2019-08-27 14:43:22

标签: javascript node.js discord discord.js

我无法让该机器人向该机器人所在的另一个公会发出邀请。

我尝试为我的机器人赋予管理员角色,以确保其具有权限。

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))
}

我尝试了不同类型的代码,但似乎无法正常工作。

1 个答案:

答案 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()