ヴァル研究所 Advent Calendar 2016の15日目です。
私が所属する新規事業開発の部署では、月1回部内勉強会を行っています。誰か一人が先生役となって、テーマとなる技術をハンズオン形式でみんなに体験してもらい、場合によっては何かを作って発表するところまでします。時間は4時間取っています。
10月のテーマはPythonとLambdaでSlackボットを作るだったのですが、今回はそこで作ったボットの話です。
ニャンコが問題を出してくるので、穴埋めして正しい英単語を答えるというゲームです。
ニャンコが「homeless」という単語を出題して一同ざわつく場面も…
仕組みとしてはSlackのOutgoing WebhookとIncoming Webhookを使っています。
こちらのページを参考にさせて頂きました(というかほとんどそのまんまです…)。
slackのbotをAWS Lambda(Python)+API Gatewayで構築 | yamamanx
どんな単語を答えても反応するようにしたかったので、Outgoing Webhookのキーワードにaからzまでの全ての文字をカンマ区切りで登録したのがちょっとした工夫です。
単語リストは3000 most common words in English | Vocabulary Lists | Learn Englishから取得。ただし正解判定時には/usr/share/dict/words
を使い、正しい英単語なら何でも受け付けるようにしています。
最近Haskellに興味を持ち始めたので、勉強がてらコマンドライン用に書き換えてみたものがこちらです。
https://github.com/aoyama-val/monyado_english
手軽に作れてそれなりに遊べるものができたのが個人的にはうれしかったです。