dockerでdiscord bot開発環境構築

published
2020-03-03

はじめに

qiita からの転載となります。
docker で discord bot 開発環境構築

ブログ記事かくのに慣れるため、qiita で書いた記事を
リメイクし再度こちらに投稿いたしました。

概要

python と code-server のコンテナを docker-compose を使い
開発環境を瞬時に作り上げます。

内容

準備

docker file

FROM python:3 USER root RUN apt-get update RUN apt-get -y install locales && \ localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 ENV LANG ja_JP.UTF-8 ENV LANGUAGE ja_JP:ja ENV LC_ALL ja_JP.UTF-8 ENV TZ JST-9 ENV TERM xterm RUN apt-get install -y vim less RUN pip install --upgrade pip RUN pip install --upgrade setuptools RUN python -m pip install numpy RUN python -m pip install discord.py

docker-compose.yml

version: '3' services: python: restart: always build: . container_name: 'python3' working_dir: '/root/' tty: true volumes: - ./app:/root/opt code: image: codercom/code-server:latest restart: always user: '0:0' ports: - '8080:8080' command: ./code-server --auth none volumes: - ./app:/root/app

qiita 記事側の code-server 設定だと、編集等できない可能性
がありますので、こちら参照していただき作成してください

実行

compose up する

$docker-compose up -d

pw は無効で設定してありますので
http://localhost:8080
にアクセスしていただければ code-server に繋が流と思います

discord bot 作成

python 側のボリュームでつなげたディレクトリ内に以下作成してください

import discord TOKEN = "自分のトークンID" client = discord.Client() @client.event async def on_ready(): print('ログイン') @client.event async def on_message(message): if message.author.bot: return if message.content == 'docker/python': await message.channel.send('docker/pythonテスト完了!') client.run(TOKEN)

python コンテナ内で実行

python コンテナに入り、上記で作成した discordbot を実行してみてください

$docker-compose exec python /bin/bash
$python ファイル名.py

実際 discord にて bot 導入し返答があれば成功です。