Edited at

Android端末上でDiscordのbotを動かす(Termux)


スマホ(Android)でbotを動かそう!


はじめに

「とりあえずやってみたらできた」状態なので無駄な部分、必要なのに実行していない部分などがあるかもしれません。いや、絶対ある。

この記事に出てくるpipcdの意味はここでは解説しません。

正直なところ、常時動かしたいならHerokuとかのサーバーサービスを利用したほうが無難です。


私の環境

XperiaXZ 601SO Android7.0


インストールするもの

何もTermuxがないと始まりません。

playストアから持って来ましょう。

Termux - Google Play

あと、Hacker's Keyboardのようなキーボードも入れておくことを推奨します。

場合によってはescキーなどを使うので。

私はCodeBoard Keyboardを使っています。


Termuxの操作

>>>:python実行中

$:ターミナル

exitと打つ(入力してENTER)か、通知バーからEXITを押します。

pythonから抜ける場合はexit()です。


手順


Pythonの準備

Termuxを開きます。キーボードをインストールしたなら切り替えておきます。

はじめに内部ストレージアクセスの許可を取ります。

termux-setup-storage

許可するかどうかの画面が出るので許可します。

ブルーライトフィルター等のオーバーレイ系アプリを利用している場合は解除してからでないと押せません(Androidの仕様です。)

まずはパッケージのアップデートをします

pkg update

本命のPython3を入れます。

pkg install python

一応バージョン確認をします。

python -V

おそらく3.7以上になっていると思います。


よし、Discord.pyを入れよう

お待ちを。

python3.7ではそのままDiscord.pyを入れるとあとあとエラーが出て動きません。


対処

githubから3.7に対応したrewrite版を入手します。

まずはgithubから取得できるようgitをインストールします。

pkg install git

gitが入ったらrewrite版をインストールします。

pip install git+https://github.com/Rapptz/discord.py.git@rewrite

追記:現在のDiscord.pyのバージョンならば直接pip install discord.pyでも問題なさそうです。

(pipはpythonをインストールした際に勝手にパスが通される模様。)

これでbotを動かす環境ができました。


pyファイルからの実行

既に作ってあるpyファイルから起動するには、そのファイルが置いてあるディレクトリに移動して

python ファイル名.py

と入力します。


どう起動するか

例としてダウンロードフォルダ直下にあるとします。

その場合、

cd ~/storage/downloads

python ファイルの名前.py

で起動することができます。("~"の部分は/data/dataなんちゃらを表す)

~/storage/ 以下の指定

Download:downloads

DCIM:dcim

Movies:movies

Pictures:pictures

Music:music

内部ストレージのルート:shared


botを起動させた後放置していたら勝手に落ちた

termux長時間手動で開いていないとAndroidOSに勝手に終了させられます。

通知バーを引き出し、termuxの通知部分にACQUIRE WAKELOCK があるので押すと勝手な終了を抑制できます。


簡単に実行しよう


いちいち打つのが面倒

【上記のキーボードが入れてあることが前提です】

というわけで短いコマンドで実行できるようにします。

vi ~/.bashrc

編集するため、キーボードのIキーを押します。(ファイルが存在しない場合勝手に新規作成されます。)

書き方は、

alias 好きな名前='実行したい動作'

です。

例えば、alias bot1='cd ../'

とするとbot1と入力するだけで上の階層へ移動できます。

入力終わったらescで編集モードの解除をします。

:wqと打つと保存して終了、破棄する(保存しない)場合:q!と打ちます

次に、毎回この簡略化を反映させる(起動時自動的に有効化する)ために

vi ~/.bash_profile と打ち、Iで編集モードへ

 source ~/.bashrc

と記述

同じくescで抜けて:wqで保存します。

termuxを再起動します。

これで好きな名前で実行できるようになります。


numpy(scipy)の導入

必要な方のみ。pipを使うとエラーでインストールできません。

https://wiki.termux.com/wiki/Package_Management



By its-pointless (live_the_dream):

という部分までスクロールすると3行のコマンドが載っています。これを順に実行してください。

注意点としては、Google翻訳等で翻訳をしている場合不要なスペース等が入ることがあります。解除してからの入力をおすすめします。


お疲れ様でした。


参考サイト

Termux上でPython関連のライブラリを入れる: LibreOfficeとPythonを楽しむ

termuxでDocomoでもらった0円タブレット(d-01J)に開発環境を作る - Live the Life you Love

Termuxメモ | 粉末@それは風のように (日記)

【Termux】Android上にPython環境を作成する - Qiita

AndroidでPythonの実行環境を整える - Qiita