メモとかいろいろ

デジカメとか無職とか病気とか

IBM CloudにDiscord BOTを入れてみた

Discord BOTを試してみたくなったので試してみた。ついでに、IBM Cloudでも動かしてみたのでメモ
なお、以下を参考にしてなにかをする場合ご自分の責任において実施してください。

ためしに使ったBOTの仕様は、「こん」と打つとなんか返事してくれる単純なBOT

Discord BOTを作ってローカルで試してみる

必要なもの

  • DiscordのBOTアカウント

Discord Developer Portalで登録して、TOKENを取得する

  • ローカル環境のpython3

必要なライブラリのインストール

以下のコマンドでローカルのpythonに、discord.pyをインストール

pip install discord.py

実行環境構築

BOTのサンプルコードをおいておいたので、以下のコマンドでローカルに持ってくる

git clone https://github.com/dq10maichi/simple_discord_bot

simple_discord_bot配下のconfig.iniにDiscord BOTトークンを記述する

実行

以下のコマンドでBOTを起動する

python discordbot.py

discordでBOTのスペースで”こん”とうつとなんか帰ってこればOK

作ったBOTIBM Cloudで動かしてみる

ローカルのパソコンで動かしておくわけにもいかないので、IBM Cloudで動かしてみる

必要なもの
  • IBM Cloudのライトアカウント

herokuでもいいかと思ったけど、クレジットカード情報を渡さない前提だとこちらのほうが制約がゆるそうだったのでIBM Cloudを使ってみた。なお10日開発活動をしないとスリープするらしいがまだ10日放置していないのでどうなるかわからない。
ライトアカウントは
IBM Cloud ライト・アカウント | IBM Cloud - 日本 | IBM
ここから作れる。わからなければググる

  • ibmcloudコマンド

IBM Cloud Docsを参考に、ibmcloudコマンドをインストールする
インストーラーを用いたインストールとシェルコマンドを用いたインストールがあるので好きな方を選んでインストールする

サンプルプログラムのコピー

サンプルコードとIBM Cloud用の設定を置いといたので以下のコマンドで持ってくる

git clone https://github.com/dq10maichi/discordbot_ibmcloud.git

ローカル実行時と同様、discordbot_ibmcloud配下にあるconfig.iniにdiscord BOTのTOKENを記述する
manifest.ymlの中の[applications][name]がアプリケーション名なので適当に変えておく

ibmcloudコマンドの初期設定

以下のコマンドでibmcloud コマンドにログインして、target環境を設定する(2line)

ibmcloud login
ibmcloud target --cf

自分の環境では、Regionはus-south、UserはIBM Cloudに登録したメールアドレス、パスワードはIBM Cloudのパスワード、Orgはメールアドレス、Spaceはdevだった。
詳細はIBM Cloudの管理コンソールで確認する。なければ作る。

BOTをibmcloudにpushする

プログラムのあるディレクトリで以下のコマンドを実行する

ibmcloud cf push

stateがrunningと表示されたら起動していると思われるのでDiscordでBOTが動いているか確認する

ちなみによく使うibmcloud cfコマンド

  • ibmcloud cf push

アプリケーションをローカルからクラウドに転送していい感じに起動してくれる

  • ibmcloud cf apps

自分のアプリケーションの状況を確認する

  • ibmcloud cf stop [アプリ名]

アプリを停止する

  • ibmcloud cf start [アプリ名]

アプリを起動する

  • ibmcloud cf delete [アプリ名]

アプリを停止して削除する

  • ibmcloud cf help

わからなければこれを叩くかググる


間違いがあれば、コメントかプルリクしてください

はてなでコマンドとかを書く方法がわからないのは内緒
もうちょっと続くかも

追記

続き書く気力がなくなったので、ibm watsonを使ってテキストチャットを翻訳するBOTを作ったんだけどリンクだけ
github.com