はじめに
最近CoderDojo静岡という子どもたちのためのプログラミング道場に参加しています。
CoderDojo静岡には子どもたちのDiscord(Slackのようなチャットサービス)のコミュニティがあります。
そこでCoderDojo静岡のイベントがconnpass上で公開されたらコミュニティ上で通知してくれたり、ちょっとしたゲームも遊べるボットを作ろうと考えました。
以前に作ったもの
使用技術
BiscoはJavaScriptで作ったDisocrd.jsのフレームワークのようなものです。
簡単にコマンド(ヘルプコマンドは用意されている)やゲームなどを作ることができます。
機能
以下はcds.help
コマンド(ヘルプを表示するコマンド)の結果です。
ちょっとおかしい項目もありますが、このコマンドで使えるコマンドの一覧を確認することができます。
![スクリーンショット 2019-12-11 18.08.42.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F154299%2F1d51cfad-a778-d198-2c48-8750bbb300bd.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=a0e8db700e3c51077c00db5d4c5c5c4b)
CoderDojo静岡のイベント公開通知について
というのも、connpassのAPIの反映が遅いんですよね...スクレイピングで作り直す予定です。
作り直している話
先程の「バグで動かない」のとコードが汚いので現在このボットを作り直しています。
現在僕は「Kuro」というボットを別で運営しているのですが、そちらもいい機会なので作り直そうとしています。
両ボットともBiscoを使っています。
ただ最近TypeScriptに手を出しているのでフレームワークレベルから作り直しています。
新しく作っているDiscordBotフレームワーク「Kuro Framework」
特徴
- 良い感じの引数パーサー(kuro-chan-bot/argument-parser)
- 良い感じのコマンドシステム
- 良い感じのイベントリスナシステム
- 良い感じのコマンドパイプラインシステム(例:
$ reverse 4021ATOH > lower → hota1024
)
(良い感じは個人的に良い感じに使えるという意味です。)
今後のCoderDojoShizuoka Botについて
最近、CoderDojo静岡の一部の子たちがDiscordボットを作るのにハマっているので、CoderDojoShizuoka Botで簡単に作ったボットをデプロイする仕組みを考えています。
イベント開催通知も合わせていろいろな機能を考えていきたいと思います。