C#でLINE botを作ってみた
ちょっと現実から逃避していて調べものをしていた時に、サクッと作れたのでご紹介。
LINE側の準備
- LINEビジネスセンターより「Messaging API」を選択 business.line.me
「Developer Trialを始める」を選択
会社・事業者を作成して選択(とりあえず法人で作ってしまったけどいいのかな?)
アカウント名・業種を決めて「確認する」を選択
内容を確認して「申し込む」を選択
「LINE@MANAGER」へを選択
LINE@MANAGERの画面が表示されるので、「Bot設定」の「APIを利用する」をクリック
確認ダイアログで「確認」をクリック
受信したメッセージをこちらで用意するサーバで処理したいのでので「Webhook送信」は「利用する」に変更
応答メッセージをこちらで作成するので「自動応答メッセージ」は「利用しない」に変更
「Botのグループトーク参加」「友だち追加時あいさつ」はお好みで
「Bot設定」の「LINE Developersで設定する」をクリックする
「Channel Secret」の右の「Show」をクリックして、表示される内容をメモっておく(API側で使います)
画面一番下の「Channel Access Token」の右の「ISSUE」をクリックして、表示される内容をメモっておく(API側で使います)
LINEの準備はとりあえずここまで
アプリ側の作業
Messaging API はC#のライブラリが無いのですが、Kenichiro NakamuraさんによりSDKとテンプレートが作成されています。
C# で LINE Bot | Ken’s Tech Blog
基本これを入れるだけでそのまま動く物が出来てしまいます。すごいよ・・・( ゚Д゚)
- LINE Bot Applicationテンプレートをダウンロード
Release Line Bot Application · kenakamu/line-bot-sdk-csharp · GitHub
%USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#\ にzipをそのまま保存
Visual Studio 2015起動
新しいプロジェクトの作成画面に「Line Bot Application」が追加されているので、それを選択して作成
Web.configの「ChannelSecret」と「ChannelToken」に先ほどメモった内容を記載
プロジェクトを右クリックして「公開」を選択
「App Servce」画面で既に利用可能なリソースがあるのであればそれを選択、今回は「新規作成」を選択
- Web Appの名前、サブスクリプション、リソース、App Serviceのプラン(無料でOK)を指定して「作成」を選択
- そのまま「発行」を選択
- 発行されたURLをメモっておく
LINE側の設定
もうちょっとです。
- LINEビジネスセンターより「アカウントリスト」を選択
- 編集画面が表示されるので「Webhook URL」に先ほどメモったURLを貼り付けて、プロトコルをhttpsに変更し、URLの後ろに/api/linemessageを付けて「SAVE」をクリックして保存する
※VERIFYはうまくいかないけど無視(笑)
これでOK
動作確認
今使っていた「LINE Developers」設定画面にあるQRコードから、LINEへ友だち追加して実際に動作を確認します。
来た物をそのまま返すサンプルになっています。
Button、Confirm、CasouselのTemplate messageのサンプルも含まれています。
LINEの設定に多少手間取るかもしれませんが、アプリ部分はテンプレートそのままでOKです。 こんな素晴らしいSDKとテンプレートを公開して頂いているKenichiro Nakamuraさんに感謝ですね(・ω・)