こんにちは。家族の情報共有のためにゲーマー御用達チャットツール「Discord」が使えないか模索しています。Discordには沢山のBotがありますが、家族用のプライベート感の強いBotが作れたらいいかなぁと思い立ちました。
前提条件
- Python 3.5.3以上がインストール済み(discord.py要件)
- Discordアカウント作成済み
Botアカウントの作成
こちらのサイトに記載されている通りに実施していますが、英語サイトなので備忘録も兼ねて作業内容を残しておきます。
DiscordWebサイトにログインします。
次にDiscord開発者ポータルサイトのアプリケーションページに行き、「New Application」を選択します。
アプリケーション名を付けて「Create」します。
作成されると以下画面になるので、適当にアイコンを入れてあります。
Botを選択して「Add Bot」します。
こんな感じで警告メッセージが出ますが、Yesで進みます。
OAuth2を選択して、SCOPESで「Bot」にチェックを入れます。
SCOPESでBotを選択すると、BOT PERMISSIONSが表示されるので、必要な権限にチェックを入れます。
チェックを入れると、SCOPESのURL表示がチェック状況に応じて変わるので、そのURLをコピーしてブラウザで開きます。
作成したBotを入れるサーバーを選択します。
権限の確認があります。
私は人間です、チェックをします。
これでサーバーに作成したBOTが入りました。
Botの作成
ここからPython開発環境にdiscord.pyをインストールします。Python仮想環境を用意する事をお勧めします。過去にvirtualenvの環境作成記事を書いているので、良かったらご覧ください。
作成した仮想環境があれば、その環境に以下でインストールします。
pip install -U discord.py
Bot用pyファイルを置くディレクトリを用意します。discord.pyのGithubページにexampleがあるので、そこから適当に拝借して試してみます。
こちらのコードの最後の「bot.run(‘token’)」のtokenは以下で取得したものに書き換えます。
こちらのコードは最初のコメントにあるように「’members’ privileged intents」がいるそうなので、以下で設定します。
これで実行します。
python basic_bot.py
正常起動したら、Discordでコマンドを打ってみます。
こんな感じでBotから返ってきました。
コメント