Discord.jsを使って誰でも簡単に作れる入退室通知BOTの作り方

Discord.jsを使って誰でも簡単に作れる入退室通知BOTの作り方:


はじめに

Discord.jsを使ってBOTを作ろうと思って調べてみると意外と簡単だったので

記していきたいと思います。

技術記事を書くのは初めてなので至らぬ点があるかもしれませんがご了承くださいm(_ _)m


前提

Node.jsがインストールされていること

インストールしてない人はググって入れてください。
インストール方法が書いてあるの記事

DiscordのAPI Tokenを取得しておく
こちらを開いてログインしてください。

手順

1.Create an applicationをクリック

2.APP NAME(アプリ名)を書いて変更を保存

3.Client IDをcopyします

4.ブラウザで以下のURLにアクセスします

https://discordapp.com/oauth2/authorize?&client_id={Client ID}&scope=bot&permissions=0 
{Client ID}のところは先程copyしたのを入れてください

5.Botを追加するサーバーの選択をし、追加します


実際に作っていく

1.作業するディレクトリを作っていく

mkdir sample-bot 
cd sample-bot 
2.Erisをインストールする

npm install eris 
3.ソースコードを書いていく

適当な名前のjsファイル(例:index.js)を作成する

index.js
const Eris = require("eris"); 
 
// botのトークンID 
var bot = new Eris("BOT_TOKEN"); 
 
bot.on("ready", () => { 
  // botの準備できたら呼び出されるイベント 
  console.log("Ready!"); 
}); 
 
 
bot.on("voiceChannelJoin", (member, newChannel) => { 
  // 入室処理 
  let ch = newChannel.guild.defaultChannel; 
  console.log("%s が チャンネル %s に入室しました。", member.username, newChannel.name); 
  bot.createMessage('Channel ID', member.username + "が チャンネル[" + newChannel.name + "] に入室しました"); 
}); 
 
bot.on("voiceChannelLeave", (member, oldChannel) => { 
  // 退室処理 
  let ch = oldChannel.guild.defaultChannel; 
  console.log("%s が チャンネル %s を退室しました。", member.username, oldChannel.name); 
  bot.createMessage('Channel ID', member.username + "が チャンネル[" + oldChannel.name + "] を退室しました。"); 
}); 
 
// Discord に接続します。 
bot.connect(); 
BOT_TOKENには先程のアプリの名前などを設定できるページを開いてサイドにあるSetting欄のBOTをクリックしてAdd Botをクリックした後、

Click to Reveal Tokenを押してcopyして貼り付けてください。

注意:このTokenは絶対に他人に教えないでください!!

入室処理にあるChannel IDのところにはこちらを参考にしてIDを取得して貼り付けてください。

退室処理のところも同様です。

ここまでできたら保存して以下のコマンドを実行してください。

node index.js 
成功するとReady!と表示されます。

実際にDiscordでボイスチャンネルに入退室して任意のテキストチャンネルで通知がこれば完成です。

コメント

  1. 返信
    1. discord.jsのバージョンが違うんじゃないですかね?この記事は結構古いものですしv11以前のかと思われます

      削除

コメントを投稿

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)