1
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?

【2024年最新!】Discord.js v14でBOTを作る方法!!

Posted at

こんにちは、Discord界隈にて活動している匿名のZeroと言います。
この記事では、Discord.js v14でBOTを作る方法について解説しています。

それではやっていきましょう。

discord.jsとは

Discord.jsは、DiscordのAPIを操作するためのJavaScriptライブラリです。Discord.jsを使用することで、Discordボットやクライアントを開発することができます。このライブラリは、Node.js上で動作し、Discordの機能を使ってチャットボットや自動化されたプロセスを作成するための豊富な機能を提供しています。

Discord.jsを使用することで、メッセージの送受信、ユーザーの操作、サーバーの管理など、Discordのさまざまな機能をプログラムから操作することができます。また、Discord.jsは、イベント駆動型のアーキテクチャを採用しており、ユーザーがDiscord上で何かが起こったときに、それに応じて反応することができます。

discord.js v14コードの書き方

まず、Node.jsのプロジェクトを作成し、Discord.js v14をインストールします。

install
npm install discord.js

次に、Discord.jsを使用してボットを作成します。

bot.js
// 必要なモジュールをインポート
const { Client, Intents } = require('discord.js');

// Discord.jsクライアントを作成
const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.MESSAGE_CONTENTS] });

// ボットが起動したときの処理
client.once('ready', () => {
    console.log('Ready!');
});

// メッセージを受信したときの処理
client.on('messageCreate', message => {
    // メッセージが「!ping」だった場合に「Pong!」と返信
    if (message.content === '!ping') {
        message.reply('Pong!');
    }
});

// ボットをDiscordに接続
client.login('YOUR_TOKEN_HERE');

このコードでは、Discord.jsのClientクラスを使用して新しいクライアントを作成し、必要なインテントを指定しています。その後、ボットがDiscordにログインするためのトークンを使用してloginメソッドを呼び出します。

ボットがメッセージを受信すると、messageCreateイベントが発火し、メッセージを処理するためのコールバック関数が呼び出されます。この例では、メッセージが!pingという内容の場合に「Pong!」と返信するようにしています。

Starlight APIを使用した荒らし自動BAN BOT

Starlight APIとDiscord.js v14を連携することで、荒らしが入ってきたらサーバーからキックするBOTを実装できます。
詳しくはこちらの記事をご覧ください。
https://qiita.com/zero8347/items/89f2099f7d4cad58b7f9

最後までご覧いただきありがとうございました。

1
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
1
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?