11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Android端末1つでDiscordBotを作成し動作させる

Last updated at Posted at 2020-02-05

「DiscordBotを作ってみたい、だけどPCを持っていない」という人向けにAndroid端末1つでDiscordBotを作って実際に動作させるまでの方法を紹介します。
なるべく初心者向けに説明していますが、Pythonやdiscord.py, Linuxコマンド, Vimコマンドなどの詳しい説明は省略しています。

##動作環境

  • Android 9
  • Termux 0.90
  • Python 3.8.1
  • discord.py 1.3.1

#1. Termuxのインストール
TermuxはGoogle Playストアからインストールできます。
https://play.google.com/store/apps/details?id=com.termux

Termuxとはroot化不要でLinux環境を用意することができるエミュレータです。
ここではPythonとVimを使ってDiscordBotを書く方法を説明します。

#2. Termuxでの準備
まずターミナルで以下のコマンドを実行し、aptの更新とPython, Vimのインストールを行います。($はコマンドラインであることを表すもので入力は不要です)

$ apt update
$ apt upgrade
$ apt install python
$ apt install vim

次にPythonで簡単にDiscordBotを動かすことができるdiscord.pyというライブラリをインストールします。

$ pip install discord.py

※もしインストールが上手くいかない場合はpip install yarlで先にyarlをインストールしておくことで解決する場合があります。

次に実行するPythonファイルを置くディレクトリを作り、移動します。
※{}で囲まれた部分は説明してる内容で置き換えてください

$ mkdir {好きなディレクトリ名}
$ cd {上で作ったディレクトリ名}

#3. Pythonファイルの作成

$ vim {好きなファイル名}.py

上のコマンドを実行すると新規ファイルがVimが開かれるので、キーボードでiと入力し、INSERTモードにします。
ここで下のコードをコピペしてください。(後述のサイトにあるものを一部改変し拝借させていただきました)


import discord

client = discord.Client()

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

@client.event
async def on_message(message):
    # 送り主がBotだった場合反応したくないので
    if message.author.bot:
        return

    # 「おはよう」で始まるか調べる
    if message.content.startswith("おはよう"):
        # メッセージを書きます
        m = "おはようございます" + message.author.name + "さん!"
        # メッセージが送られてきたチャンネルへメッセージを送ります
        await message.channel.send(m)

client.run("token")

#4. Botアカウントを作成する
Chromeなどのブラウザで「https://qiita.com/PinappleHunter/items/af4ccdbb04727437477f 」のサイトのサイトを開き、「Bot用のトークンを手に入れる」の項に従ってBotアカウントを作成して使用したいサーバーにBotを追加しておきます。
ここで「後で使います」と言われているトークンをコピーしておいてください。
※このトークンはBotを動かすためのパスワードのようなものなので扱いには十分気を付けてください。

#5. Pythonファイルを実行する
Termuxを開き、cliant.run("token")のtokenの部分に、先程コピーしてきたトークンをペーストし、ESC:wqでファイルを保存しVimを閉じます。

下のコマンドでPythonファイルを実行します。

$ python {先程作成したファイル名}.py

これでLogged in as...のように表示されればBotが動作していることになります。

Botを追加したサーバーでおはようなどを送信して返答が来るか試してみてください。
終了したいときはTermuxを終了すればBotも動かなくなります。もしBotを常時動かしたい場合は、Herokuなどを利用することでできます。
ちなみにTermuxではGitも使えるので、AndroidのみでHerokuにデプロイすることも可能です。

##参考サイト
Pythonで簡単なDiscord Botの作り方
Android端末上でDiscordのbotを動かす(Termux)
AndroidでTermuxを使いroot化なしでLinux環境を作る!

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?