DiscordのBOTを作ってみよう(1)　～準備編～

# はじめに
※初めてのQiitaでの投稿です。

このシリーズはPythonおよびPycordでDiscordのBOTを作ってみたいという方に向けたものです。

すでにBOTを動かしたことがあるという方は[DiscordのBOTを作ってみよう(3) ～スラッシュコマンドを使ってみよう～]()まで飛ばしてもいいかもしれません。


:::note info
筆者の環境
・Windows11 Pro
・Python 3.10
・pycord 2.5.0
・Visual Studio Code
:::


# (0)Pythonのインストール
BOTを作るためにはPythonをインストールする必要があります。
まずは[こちら](https://www.python.org/downloads/)にアクセスしてPythonのインストーラーをダウンロードしましょう。
この際、OSやバージョンに気をつけてダウンロードしてください。

ダウンロードが終わったらインストーラーを起動して案内通りに進めるとPythonのインストールが終わります。


# (1)エディタのインストール
まずはプログラミングをするためにエディタをインストールしましょう
最悪メモ帳でもできなくはないですがエディタを使った方が効率的に作業できます。

筆者のおすすめは[Visual Studio Code](https://code.visualstudio.com/download)というMicrosoftが出しているエディタです。

エディタのインストール方法に関しては、ものによって異なりますので割愛します。

※この記事ではVisual Studio Codeを使っているものとして進めます。


# (2)BOTの作成
それではBOTのアカウントを作りましょう

まずは[こちら](https://discord.com/developers/applications)にアクセスして自分のDiscordアカウントでログインします。

ログインするとこのような画面になると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/5a522eec-cec1-b643-fe47-c6bef1731e68.png)

このページで右上の青い「New Application」というボタンをクリックします。

クリックするとこのような画面が出てくるので「name」に好きな名前を入力して下のチェックボックスにチェックを入れて右下の青い「Create」ボタンを押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/9523b3cc-6ace-a9f9-7c86-68b3edeaaebb.png)

これでBOTを作成できました。


# (3)BOTのトークンの取得
BOTを作成できたので次はトークンを取得しましょう。
トークンとはBOTを動かすために必要なものです。

まずこの画面で左側にあるパネルの「Bot」というところをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/14071054-1266-62a7-8ff7-a0e87b4499ea.png)

「Bot」を押すと次のような画面になるので少しスクロールしたところにある「Reset Token」をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/5fa6668a-6d17-4e99-1e3e-58fa8f90eaa3.png)

次のこの画面では右の「Yes, do it!」をクリック。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/bddc41a3-78a1-0bf0-9fb3-40bfffc95952.png)

次にパスワードの入力を求められるのでDiscordのアカウントのパスワードを入力してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/5bec3c52-9757-0992-a3df-32ce60e3ec88.png)

するとさっきの画面に戻ってTOKENのところに「Copy」というボタンが出てきます。
※わかりやすいように画面全体の画像を出したいところですが、セキュリティ上の理由で画面全体を見せることはできません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/1e4ebd5b-3f24-6512-7cb0-91eff247af58.png)

「Copy」ボタンを押すとトークンがクリップボードに保存されるので、どこか忘れないところに保存しておきましょう。

:::note alert
このトークンは他人には絶対に教えてはいけません。
最悪の場合BOTが乗っ取られてしまい、取り返しがつかないことになる可能性があります。
:::

次にPythonに使用許可を与えていきます。
トークンを取得したページの下の方にこのようなものがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/d37e7dfe-e05b-1596-4acc-7dcfff661a1e.png)

全部ONにしておきましょう。


# (4)BOTを招待する
コードを書いていく前にBOTをテストサーバーに招待しましょう。

:::note warn
BOTをテストする際は邪魔にならないように他の人がいるところではなく自分だけのテストサーバーで行いましょう。
:::

それでは招待の方法を書いていきます。

まず下のような画面で左のメニューから「Oauth2」というボタンをクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/c202c254-977e-771c-1b22-8f769500de7f.png)

「Oauth2」を押すとこのような画面になるので下にスクロールしましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/0a5b08d8-5ac0-d8c9-96d6-9325a897bf45.png)

下までスクロールするとこのようなものが出てきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/b8e8da89-343d-c020-d51f-d0718648fd53.png)

「bot」というチェックボックスにチェックを入れてください。

チェックを入れるとこのようなものが出てくると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/24577265-da65-8387-212d-cfd71a52d300.png)

ここではBOTに権限を与えることができます。

今回は自分用のテストサーバーに入れるので一番左上の「Administrator」にチェックを入れてください。

:::note warn
トークンの流出などによって乗っ取られた際に被害が大きくなるため、複数人がいるサーバーに入れるBOTや公開BOTを作成する場合は「Administrator」にチェックを入れない方がいいです。
:::

チェックを入れると一番下にURLが出てくると思います。

URLの右にある「Copy」ボタンをクリックしてクリップボードに保存して、chromeなどに貼り付けてアクセスしましょう。

アクセスするとこのような画面になると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/9af9e30f-3ea5-3ce5-45f0-f5b548200401.png)

ここでテスト用サーバーを選択して案内通りに進めてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3819960/d6e24339-afec-e404-141f-bf3892dee5c3.png)

この画面が出れば正常にサーバーに入れることができました。

このタブは閉じても大丈夫です。


# 最後に

次回の記事では実際にコードを書いてBOTを動かしていきます。

Next → [DiscordのBOTを作ってみよう(2) ～はじめてのBOT制作～](https://qiita.com/Quantum8060/items/b143dfadb6b2ac34dbbb)