Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9138

Discord.jsで認証機能を作ろう!

$
0
0
初めに 今回はDiscordの認証botを作っていきます! 必要なもの 1.discord.jsv12 入れる方法 npm i discord.js@12 とターミナル打つ if (message.content.startsWith('!認証') && message.guild) { //メッセージの初めの文字が!認証だったら実行 let myRole = message.guild.roles.cache.find(role => role.name === "メンバー"); //メンバーという名前のロールを探す if (!myRole) { //メンバーというロールがなかったら実行 message.guild.roles.create({ data: { name: "メンバー", color: "#ff0000", permissions: 0, position: 0 } //ロールを作成(nameがロールの名前,colorがロールの色,permissionsがロールの権限(8が管理者など各自調べて),positionがサーバーのロールの位置(0はeveryone)) }).then(role => { message.channel.send("初回でメンバーロールを作りましたメンバーロールの権限設定をしてください"); //ロールを作った後の処理 }).catch(console.error); //エラーだった場合 } var S = "ABCD1234" //追加する文字この状態ではABCD1234がランダムに表示される var N = 4 //文字列の数初期は4こつまりAC2Cみたいに出るってこと var a = Array.from(Array(N)).map(() => S[Math.floor(Math.random() * S.length)]).join('') //ランダムな文字作成 message.channel.send("認証コードは") message.channel.send(a) //ランダムな文字をチャンネルに送る message.channel.send("10秒以内に打ってください") async function alertMsg() { //alertMsgを実行する(10秒処理を待機する) const channel = await client.channels.fetch(message.channel.id) //メッセージが打たれたチャンネルIDを取得する const afterMessages = await channel.messages.fetch({ after: message.content.id, limit: 1 }) //一番下のメッセージを取得 let b = afterMessages.map(message => message.cleanContent).join('\n') if (b == a) { //一番下のメッセージが作られたランダムな文字だったら実行 const role = message.guild.roles.cache.find(role => role.name === 'メンバー') //ロールを探す message.member.roles.add(role) //メッセージを打った人にrollを付ける message.channel.send("認証成功") //チャンネルに認証成功と送信する } else { //一番下のメッセージが作られたランダムな文字ではなかったら実行 message.channel.send("認証失敗") //認証失敗と送信 } }; setTimeout(alertMsg, 10*100); //sleepするようにやる(10が十秒) } 説明 コードの中に書きました 最後に 公式サーバー 入る 公式サイト 見る 私のbotをよかったらいれてください 入れる 個別に質問したい場合などはBURI#9515まで プログラムのソースコードは、そのコードを書いた人の著作物にあたる ため、著作権法による保護の対象となります。 そのため、ライセンスが定められていないプログラムは、その著作者から明示的に許可を受けない限り、ソースコードを複製したり、再頒布したり、手を加えたりすることができません。

Viewing all articles
Browse latest Browse all 9138

Trending Articles