2019-05-27に更新

DiscordからSplatoon2の情報を取得できるbotを作った

DiscordからSplatoon2の情報を取得できるbotを作った

どんなbot?

botがいるサーバーで
「ナワバリ」とコメントすると現在のステージ2つが返ってきます。
「ガチ」or 「リーグ」とコメントすると現在のステージ2つとルールが返って来ます。
「サーモンラン」とコメントすると現在のステージと使用可能な武器が返ってきます。

他にも機能があるのですが長くなるので気になる方は下記リンク先の説明を読んでください。
イカボット

なんで作ったの?

友人との会話の流れで作ることになった。
他の方が作ったbotが既にあったが対応しているコマンドが覚えにくかったらしい。
- 「ガチ」「リーグ」「ガチマ」「リグマ」「バイト」とかいろんな表現で情報を取得したい
- 他にも情報を取得したい

とかそんな理由で開発がスタートした。

開発・実行環境

言語とライブラリ

PythonからDiscordにアクセスできるdiscord.pyというライブラリが既に公開されていたのでそれを使用した。
開発当時はPython3.7に対応していなかったのでPythonのバージョンは3.6で開発した。

Splatoon2の情報の取得元

下記サイトでSplatoon2のステージ情報を取得できるAPIを公開している方がいたため、ありがたく使わせていただきました。
Spla2 API

大量のアクセスを行わないように + 高速化のためスケジュール更新があるまではキャッシュしたデータをもとにステージ情報などを返すようにしている。

実行環境

GCPで仮想サーバーを立ててSupervisorでデーモン化した。

参考にした記事↓
SupervisorでPythonのWebアプリをデーモン化する

開発中の苦労

Pythonをまともに書いたことがなかったので慣れるまでは開発スピードが遅かった。
特に普段は型ありの言語しか書かないので、型が違うエラーが実行時にしかわからないのが苦労した。

今後

  • 機能追加(要望があれば)
  • Python 3.7対応

リンク

botをサーバーに登録するためのリンク

ツイッターでシェア
みんなに共有、忘れないようにメモ

block

京都のゲームプログラマ。 C++/Rust/Game/Unity/立方体

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント