LoginSignup
1
3

More than 1 year has passed since last update.

[メモ]Discord招待リンクをランダムに生成するボット。

Last updated at Posted at 2020-11-19

はじめに

このボットはDiscordの招待リンクをランダムに生成できます。
生成したリンクは全部有効な招待であるわけではなく、大体無効な招待です。

このような感じです。
001.png

これを使えば、誰かのサーバーに入ることができるかもしれません。

*免責事項:これはただ教育のためのサンプルです。

コード

パラメータ 意味
l リンクの長さ
c リンクの字母の構成元素

l は生成するリンクの長さ、今Discordの招待リンクは8桁です(昔は6桁です)。
c はリンクの生成の条件、これを変えると、リンクの生成するモードは変わる。

例えば、


var c1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";


var c2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678901234567890123456789";

c1を使えば生成したリンクは数字がありません。
c2を使えば生成したリンクは数字が含む確率は高くなります。

ですから、もしDisocrdの招待リンクの生成するモードが見つけたら、生成したリンクが有効な招待である確率は高くなります。


//main.js

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
    console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', message => {
    const args = message.content.slice('').split(' ');
    if(message.content.startsWith('生成')){
        if(args[1] === undefined){
            message.channel.send("Pleace enter a munber.");
        }
        else{
            for(let i=0;i<args[1];i++){
                var l = 8;
                var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
                var cl = c.length;
                var r = "";
                for(var ii=0;ii<l;ii++){
                    r += c[Math.floor(Math.random()*cl)];
                }
                message.channel.send(`https://discord.gg/${r}`);
            }
            message.reply(`${args[1]} invite link generated.`);
        }
    }
});

client.login('BOT_TOKEN');

使い方

以下のコマンドを入力します。


生成 (数字;生成するリンクの数量)

002.png

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3