Skip to content
Reminder line-bot for chouseisan.com
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
templates
testdata
.gitignore
.travis.yml
LICENSE
Makefile
README.md
chouseisan.go
chouseisan_test.go
command_analyze.go
command_analyze_test.go
command_set_chouseisan.go
command_set_chouseisan_test.go
command_set_name.go
command_set_name_test.go
command_uidtest.go
command_uidtest_test.go
command_version.go
command_version_test.go
cron.yaml
join.go
join_test.go
leave.go
leave_test.go
main.go
main_test.go
queue.yaml

README.md

Chouseisan Reminder Bot

Build Status Coverage Status

出欠管理ツール「調整さん」から出欠情報を取得し、期日(開催日)の数日前に参加状況を流すLINE BOT

動作仕様

LINEからのコールバック受信時

友だち登録、グループ/ルームへの招待イベント
  • 対象のIDを購読者としてデータストアに追加
  • 送信者(ユーザ/グループ/ルーム)に「リマインダを登録しました」メッセージを送信
ブロック(友だち登録解除)、グループからの削除イベント
  • 対象のIDを購読者から削除
  • メッセージは送信しない(受け取る相手がいないため)
  • トークルームからのleaveイベントもグループと同様の処理をするが、実際にはこのイベントは送信されない
トーク受信
  • /set chouseisanコマンドで、リマインド対象の調整さんイベントを設定できる
  • /set nameコマンドで、グループの表示名を設定できる
  • /versionコマンドで、BOTアプリのバージョン番号を表示
  • グループ利用を想定しているため、テキストメッセージのオウム返しはしない

定時実行

  • 毎日8:00に定時実行し、購読者ごとの調整さんイベント日程をクロール
  • 3日後もしくは当日の予定があれば、その購読者に出欠入力状況を送信
    • ここでPush MessageAPIを使用するため、BOTアカウントの契約プランはDeveloper Trialかプロ以上が必要。

Webブラウザからのアクセス時

  • usage.htmlを表示する

動作環境

  • Google App Engine SDK for Go 1.9.40
  • Go SDK for the LINE Messaging API

設定ファイル

以下のファイルを準備する

app.yaml

app.yamlにはLINE BOTのキー情報などを含むため、リポジトリから除外している。下記の書式でapp.yamlを作成すること

application: YOUR-APPLICATION-ID
version: 2
runtime: go
api_version: go1

handlers:
- url: /img
  static_dir: img
- url: /task/.*
  script: _go_app
  login: admin
- url: /cron/.*
  script: _go_app
  login: admin
- url: /.*
  script: _go_app

env_variables:
  LINE_CHANNEL_SECRET: 'YOUR_CHANNEL_SECRET'
  LINE_CHANNEL_ACCESS_TOKEN: 'YOUR_ACCESS_TOKEN'

LINE BOTのQRコード

LINE BOTのQRコードを/img/linebot_qr.pngに置くこと(usage.htmlからリンクしている)

version.go

バージョン番号は、make testmake deployの際に生成されるversion.goファイルに定義される。このファイルはリポジトリ管理対象外。

git cloneしたプロジェクトを直接goapp deployコマンドでApp Engineにデプロイすると、定数versionが未定義なためエラーとなる。make deployを使うこと。

LINE BOTについて

調整さんについて

You can’t perform that action at this time.