chouseisanreminder

command module
v2.1.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2016 License: Apache-2.0 Imports: 18 Imported by: 0

README

Chouseisan Reminder Bot

Build Status Coverage Status

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

動作仕様

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

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

LINE BOTについて

調整さんについて

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL