【C#】【Bot】Slack Bot で推したちと会話したい!Part.2
前回までのあらすじ
前回、果て無き荒野への一歩を踏み出したオタク。
Free! の主人公、七瀬遙に "俺はフリーしか泳がない" と発言させることに成功した。
▼前回の内容はこちらから。
d01tsumath.hatenablog.com
ちなみに、 Free! とはなんぞや?という方は、Netflix、dアニメストアをはじめとした動画配信サービスにて配信中なので是非ご視聴ください!
いわゆる "異次元系スポーツ" ではないので、安心して視聴できると思います。
iwatobi-sc.com
【Slack Bot シリーズの目標】
1. Bot を5つ作る
▶ 2. 各キャラと、ある程度の会話をできるようにする
3. Channelの中で会話できるようにする
今回はここを重点的に掘り下げて進めていこうと思います。
会話といっても、機械学習まで手をつけると収拾がつかなくなるので、
まずは特定の言葉に対してレスポンスするに留めます。
Incoming Webhooks だと、メッセージ送信のみしかできないので、まずはメッセージ (コマンド) に対してメッセージ送信するという形に変更していきます。
Slash Commands の設定
Slash Commands を使って、会話しているようなものを作っていきます。
Function を作成する
Slash Commands 用の Function を作っていきます。
Azure portal を開き、任意のリソースグループより、[Function App] を選択します。
色々記入して、サクサク Function を作っていきます。
Function のデプロイが終わったら、前回作った SlackBotTest を作った Fucntion にデプロイします。
うまくデプロイができたら、[実行] を押して確認してみましょう。
実行がうまくいったら、次は Slash Commands に登録します。
コマンドを追加する
[Slack api] のページを開き、[Slash Commands] > [Create New Command] を選択します。
[Command] のところに、「/」と任意の文字列を入れます。
[Request URL] のところには、さきほど作った Function の URL を入れました。
あとは必要に応じて記入したりチェックして、右下にある [Save] で設定を保存します。
実際に、コマンドを実行してみます。
「/talk おはよう」と打ち込んでみます。実際には「/talk」だけでも良いし、時間帯的には「こんばんは」or「おやすみ」なんですけども。
すると、何やらセリフ以外のレスポンスが返ってきました。
中身的には API 叩いたときの Response の中身が丸見えになっているだけのようですね。
しかも、コマンドを叩かないとレスポンスできないのも、ちょい不満があります。
なにかいい方法がないものか…。
[Outgoing Webhooks] というものはあるけれど、作った Bot に移植できなさそうなのがなんとも不満です。
次回までの宿題にしようと思います( ˘ω˘ ;)