Home > Python3を使って Discord Botを作成するための構築手順書

Python3を使って Discord Botを作成するための構築手順書

Python3を使って Discord Botを作成するための構築手順書

06月 13日

Discord for kansai.ts

kansai.ts用のコミュニティを discordで作りました (どんな感じで進めるかは全く想定外ですが)

kansai.ts discord

Python環境構築

Pythonを使うため、 pyenvを採用します。

brew install pyenv

.bash_profileで pyenvを使えうよう設定します。

export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi

インストールできるバージョンを事前に確認、実際にインストールします。

pyenv install -l
pyenv install 3.7.3
pyenv global 3.7.3
pyenv versions
python -v

zlibエラーで pyenvのインストールに失敗した

xcode-selectの最新バージョンに Mojave用の MacOS SDK headerがデフォルトで入っていないことが原因。マニュアルで以下の通りインストールする必要あります。

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Botプログラムの起動

ここからが本題。 以下参考にさせていただきました。

Pythonで実用Discord Bot (discordpy解説)

git clone git@github.com:Rapptz/discord.py.git
python3 -m pip install -U discord.py

Developer Portalでトークンを取得、 discordbot.pyを作ります。

import discord

TOKEN = '<Developer Portalで取得したトークン>'

client = discord.Client()

# 起動時
@client.event
async def on_ready():
    # ログインを通知する
    print('ログインしました')

# メッセージ受信時
@client.event
async def on_message(message):
    # メッセージ送信者がBotだった場合は無視する
    if message.author.bot:
        return
    # 「/neko」と発言した場合は「にゃーん」を返す
    if message.content == '/neko':
        await message.channel.send('にゃーん')

# Botの起動とDiscordサーバーへの接続
client.run(TOKEN)

Botが動作する環境が整いました!

24時間 365日稼働させるため Lambda、もしくは Herokuなどを検討しなければいけませんが。

python3 discordbot.py

また後日に.. mm

コメントを残す