読者です 読者をやめる 読者になる 読者になる

tonkunの備忘録

色々調べた事、試した事などを載せます

C#でLINE botを作ってみた

Microsoft Azure

ちょっと現実から逃避していて調べものをしていた時に、サクッと作れたのでご紹介。

LINE側の準備

「Developer Trialを始める」を選択

会社・事業者を作成して選択(とりあえず法人で作ってしまったけどいいのかな?)

アカウント名・業種を決めて「確認する」を選択

内容を確認して「申し込む」を選択

「LINE@MANAGER」へを選択

LINE@MANAGERの画面が表示されるので、「Bot設定」の「APIを利用する」をクリック

f:id:tonkun_no:20170130024932p:plain

確認ダイアログで「確認」をクリック

f:id:tonkun_no:20170130025026p:plain

Bot設定」でBot用に設定を変更して「保存」をクリック

  • 受信したメッセージをこちらで用意するサーバで処理したいのでので「Webhook送信」は「利用する」に変更

  • 応答メッセージをこちらで作成するので「自動応答メッセージ」は「利用しない」に変更

  • Botのグループトーク参加」「友だち追加時あいさつ」はお好みで

f:id:tonkun_no:20170130025640p:plain

Bot設定」の「LINE Developersで設定する」をクリックする

  • 「Channel Secret」の右の「Show」をクリックして、表示される内容をメモっておく(API側で使います)

  • 画面一番下の「Channel Access Token」の右の「ISSUE」をクリックして、表示される内容をメモっておく(API側で使います)

f:id:tonkun_no:20170130030404p:plain

f:id:tonkun_no:20170130030733p:plain

LINEの準備はとりあえずここまで

アプリ側の作業

Messaging APIC#のライブラリが無いのですが、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」が追加されているので、それを選択して作成

f:id:tonkun_no:20170130032243p:plain

  • Web.configの「ChannelSecret」と「ChannelToken」に先ほどメモった内容を記載

  • プロジェクトを右クリックして「公開」を選択

  • 「App Servce」画面で既に利用可能なリソースがあるのであればそれを選択、今回は「新規作成」を選択

f:id:tonkun_no:20170130033146p:plain

  • Web Appの名前、サブスクリプション、リソース、App Serviceのプラン(無料でOK)を指定して「作成」を選択

f:id:tonkun_no:20170130034433p:plain

  • そのまま「発行」を選択

f:id:tonkun_no:20170130034725p:plain

  • 発行されたURLをメモっておく

LINE側の設定

もうちょっとです。

  • LINEビジネスセンターより「アカウントリスト」を選択

LINE Business Center

  • 作成したBotが表示されていると思うのでMessaging API右の「LINE Developers」をクリックする

  • 準備の時に表示した設定画面が表示されるので画面下の「EDIT」をクリックする

f:id:tonkun_no:20170130040217p:plain

  • 編集画面が表示されるので「Webhook URL」に先ほどメモったURLを貼り付けて、プロトコルhttpsに変更し、URLの後ろに/api/linemessageを付けて「SAVE」をクリックして保存する
    ※VERIFYはうまくいかないけど無視(笑)

f:id:tonkun_no:20170130040659p:plain

これでOK

動作確認

今使っていた「LINE Developers」設定画面にあるQRコードから、LINEへ友だち追加して実際に動作を確認します。

f:id:tonkun_no:20170130043543p:plain

来た物をそのまま返すサンプルになっています。
Button、Confirm、CasouselのTemplate messageのサンプルも含まれています。

LINEの設定に多少手間取るかもしれませんが、アプリ部分はテンプレートそのままでOKです。 こんな素晴らしいSDKとテンプレートを公開して頂いているKenichiro Nakamuraさんに感謝ですね(・ω・)