dockerでdiscord bot開発環境構築

2020/03/03

dockerでdiscord bot開発環境構築

はじめに

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 導入し返答があれば成功です。

avatar

しがないWebエンジニアです。楽しいことをして生きていきたい。ゲームすることとお酒を飲むのが趣味!

項目


© 2022 takap