0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Discord.js 危険人物APIで自動キックBOTの作り方!

Last updated at Posted at 2024-04-28

こんにちは。今回は、Discordの危険人物APIについての記事をわかりやすく紹介します。

Discordとは

まず最初に、Discordはオンラインでコミュニケーションや交流をするためのプラットフォームです。もともとはゲーマーのために作られましたが、現在では様々な目的で広く利用されています。
Discordでは、テキストチャットや音声通話、ビデオ通話などさまざまな手段でコミュニケーションが取れます。グループやコミュニティはサーバーと呼ばれ、異なるチャンネルでトピックごとに議論することができます。

危険人物APIの開発元

危険人物検索サイトは「Discord海軍」というグループが開発しているようです。
サポートサーバーはこちら: https://discord.gg/V6SmYx8Ghp

危険人物APIの紹介

2023年12月にdiscord危険人物サイトとしてオープンし、2024年4月現在では6000人以上の危険人物情報が登録されているようです。
さらに、Discord危険人物情報サイトのAPIが誕生し、グローバルBANに使用するユーザーが増えてきました。

APIを使った危険人物検出BOT

以下が危険人物(荒らし)がサーバーに入ってきたら自動でキックしてくれるBOTのサンプルコードです。
discord.js v13を使用しています。

const { Client, Intents } = require('discord.js');

const client = new Client({ 
    intents: [
        Intents.FLAGS.GUILDS,
        Intents.FLAGS.GUILD_MEMBERS
    ]
});

const API_URL = 'https://discord-navy.net/users/api.php?id=';

client.once('ready', () => {
    console.log('Bot is ready');

    // クライアントのステータスを更新する関数を呼び出す
    updateStatus();
});

// サーバーの数を取得してステータスを更新する関数
function updateStatus() {
    // クライアントのステータスを更新
    client.user.setActivity(`${client.guilds.cache.size}サーバーで稼働中`, { type: 'PLAYING' });
}

client.on('guildMemberAdd', async member => {
    try {
        // APIにユーザーIDを送信して存在を確認
        const fetch = await import('node-fetch');
        const response = await fetch.default(API_URL + member.user.id);
        const data = await response.json();
        if (data.exists) {
            // ユーザーが存在する場合、キックする
            member.kick('荒らし情報が検出されました。')
                .then(() => {
                    console.log(`${member.user.tag} がAPIで検出されたため、キックしました。`);
                })
                .catch(error => {
                    console.error('キックエラー:', error);
                });
        }
    } catch (error) {
        console.error('Error:', error);
    }
});


// ボットのトークンでログイン
client.login('TOKEN');

最後に

荒らし行為が増える中で、このようなサービスが登場することは驚きです。開発者に感謝の意を示すとともに、記事はここまで。お読みいただきありがとうございました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?