Discord.js Backdoor команда - PullRequest
       6

Discord.js Backdoor команда

0 голосов
/ 08 ноября 2018

Я видел, как мой бот присоединился ко многим другим серверам, но, похоже, некоторые злоупотребляют им.

Я хочу, чтобы бот сделал одноразовое приглашение на сервер, на котором я не нахожусь, но мой бот есть. Когда я нахожусь на сервере, я могу просто удалить его. Это было бы так:

^ бэкдор "идентификатор гильдии". Я очень плохо знаком с кодированием. Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Есть 2 возможных способа сделать это, но оба зависят от разрешений, которые бот имеет в этой гильдии.

гильдию нужно заменить на ID или переменную, эквивалентную ID

  • Путь 1:

    let guild = client.guilds.get(guildid):
    if (!guild) return message.reply("The bot isn't in the guild with this ID.");
    
    guild.fetchInvites()
        .then(invites => message.channel.send('Found Invites:\n' + invites.map(invite => invite.code).join('\n')))
        .catch(console.error);
    
  • Путь 2:

    let guild = client.guilds.get(guildid):
    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(!inivtechannels) 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))
    

Был бы также способ фильтрации каналов для SEND_MESSAGE, и вы могли бы отправить сообщение на сервер

0 голосов
/ 08 ноября 2018

Вместо входа в гильдию и последующего ее удаления было бы проще заставить бота покинуть гильдию, используя Guild.leave()

// ASSUMPTIONS:
// guild_id is the argument from the command
// message is the message that triggered the command

// place this inside your command check
let guild = client.guilds.get(guild_id);
if (!guild) return message.reply("The bot isn't in the guild with this ID.");

guild.owner.send("The bot has been removed from your guild by the owner.").then(() => {
  guild.leave();
});
...