LINE Messaging APIの機能を検証するためのApp
Webhookで受け取った発言をオウム返しする。ただし、以下のコマンドが投稿されたときは特別な挙動をする
/mention
"@"+ユーザIDでメンションを試みる(単なるテキストになった)/mention2
"@"+ユーザIDでメンションを試みる(単なるテキストになった)/profile
ユーザIDをキーに、GetProfile()
でプロファイルを取得(Botと友だち登録していないと取得できない)/profile2
追加されたAPI、GetGroupMemberProfile()
およびGetRoomMemberProfile()
でプロファイルを取得(Botと友だち登録していないユーザの情報も取得できる)/version
バージョンを表示
$ go get -u google.golang.org/appengine
$ go get -u github.com/line/line-bot-sdk-go/linebot
backend/app.yaml
にはLINE BOTのキー情報などを含むため、リポジトリから除外している。下記の書式でファイルを作成すること。
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
env_variables:
LINEBOT_CHANNEL_SECRET: 'LINE Messaging APIチャネルのSECRET'
LINEBOT_CHANNEL_ACCESS_TOKEN: 'LINE Messaging APIチャネルのTOKEN'
バージョン番号は、make test
、make deploy
の際に生成されるversion.goファイルに定義される。このファイルはリポジトリ管理対象外。
git clone
したプロジェクトを直接goapp deploy
コマンドでApp Engineにデプロイすると、定数version
が未定義なためエラーとなる。make deploy
を使うこと。
ローカルでテストを実行する
$ make test
特定のテストのみ実行する
$ make test RUN=テスト関数名
なお、
- ローカル実行のとき、project idが
testapp
でないとデータストアに接続できないため、テスト実行時にtestapp
、デプロイ時に商用環境のProject IDを設定している。Project IDをリポジトリに残したくなかったが、やむを得ず。
$ make deploy