icachanbot’s blog

このブログは、twitterBOTのいかちゃん成長記録です

アイディアメモ・やり残しメモ

いかちゃんが普段つぶやく内容で、時報が少し物足りないなーと思っているので、お昼のゴハン時とかそういうので何かしらつぶやく

イカロス食材リストメモ! - icachanbot’s blog

 

・つぶやきリストテキストデータをDBへ移行する

 

・DialogflowのFulfillmentのWebhookの改良をする。

バックで返答用DBを用意、Firebaseで返せるようにして、発言に必要なバイパスをDialogflowで用意

 

Google Homeでできること | 自分で雑談機能を開発するに至るまで | パソナテック

 

 

・フェロー情報をDBに入れたい(ステータスも含め)

 

 

何かいいアイディアないかなー

いかちゃんのアプデ情報収集とそのデータ扱いと短縮URLとか

結局、テキストファイルに情報を色々入れるのは追加いがってが悪いので、DBにデータを保存収集してアプデの有無をチェックする事にしました。

1時間ごとに情報収集するようにしました。

仕様を色々書き換えました。

いかちゃんのお仕事内容 - icachanbot’s blog

 

 

そういえば、Google短縮URLサービスがなくなったんですね、知らなかったです。代わりにGoogleのFirebaseが提供しているDynamicLinkとやらを使ってみました。

 

qiita.com

 

便利になったもんですねぇ。

このFirebaseはDialogflowの裏側でWEBHookそとして動いてるやつですね。

テストコードしか書いてないんですけどw

最近触ってないので忘れがちですがそっちも色々改良していきたいんですが、思いつくとすぐ別の事をやりはじめちゃうので、いけないですね。

 

アイディアメモ的な記事を残したら忘れないで良いかもしれません。

 

 

いかちゃんのお仕事内容

数日離れただけですっかり忘れてしまうので、メモします。

 

//30分ごと

/************************************

ふぁぼするよ(繰り返し同じようなツイートをしているBOTは避ける)

*************************************/

//'イカロスオンライン','#イカロス','イカロス','#ICARUSONLINE','#ICARUS'

がついたツイートを適当に探してイイネするようになってるよ

 

/************************************

公式がツイートしたら無条件でリツイートするよ

*************************************/

公式様を労ってあげたい。と、いかちゃんが申しております。

 

/************************************

フォロー返しするよ

*************************************/

 無条件でフォローがえしします。

 

/************************************

新着情報があればtwitterするよ 

*************************************/

// イカロス公式サイトから、本日新着イベント(※)があれば取得

※公式のイベント情報 アクセスし、その日更新された情報があれば取得しています。

 

// 6:00

// イカロス時報

/*===============================================================

イカロスの時報twitterするよ(朝6時)
曜日別に色々ツイートするよ。

===============================================================*/

//「アケロン魔石争奪戦」

'本日は第2日曜日!アケロン魔石争奪戦、時間は21:00 ~ 23:00だよ! #イカロス '

 

//「エクサラン魔石争奪戦」ついでに図書館

'土曜日だよ~!エクサラン魔石争奪戦、時間21:00 ~ 23:00だよ! ついでに、図書館ボス強い日だよ~! #イカロス ';

 

//月曜

'月曜だよ~挑戦の塔の報酬受け取お忘れなく~ #イカロス '

 

etc

。。このように、特定条件の曜日他、通常の曜日も色々あります。

 

// 6:00

// イカロスランダムツイート

 

// 18:00

 その日のトレンド有名人を絡めたツイートをするよ。

 

// 19:00

 

 

 

その他、雑談とか

あとは、いかちゃんにDMを送ると、何かテキトーな返事が返ってきます。

 

f:id:icachanbot:20190531151912j:plain

この語彙を今後、もっと増やしたいなーと思ってます。

 

 

そんな感じで、このページは随時仕様追加したら更新していきます。

 

 

ちなみに、いかちゃんBOTが何で書かれているかとかその辺の仕組みはこちらのメモ参照。

icachan.hateblo.jp

 

 

icachanbot再始動。

ようやく垢回復しました。

f:id:icachanbot:20190530064146j:plain

 

9日ぶりのいかちゃんです。

既に勝手に動いてますねー。

 

 

というか・・・どういう条件で動い打てるんだっけ?って、、、もうすっかり脳みそが吹っ飛んでます。

 

いかちゃんのバックで動くデータをDB化したいですよねー。

今ただのテキストから読んでるだけなんで・・・

 

またそのうち。

垢凍結6日目まだ回復しませぬ

f:id:icachanbot:20190526021854j:plain

 

 

↓事件から6日経過・・・

icachan.hateblo.jp

ググると当日垢再開できた人も居れば6日目で~とかいう記事も見つけたけど、私は6日を過ぎました。

いつ次のステップに進む準備が整うのかな??^^

気を取り直して・・DialogflowでWebhook。初めてのFirebase。

twitter垢ブロックされたのはそれは垢回復対応を待つ(仕方なく身分証の画像を送信しました・・・)として。

とりあえず、バックグラウンドの開発をすることに。

 

んで、今回、DialogflowでWebhookを使うのには一番なにが良さそうかなーと思い、色々調べていて、やっぱりDialogflowはGoogle製なのでそれと一番親和性の高い物を使うのが宜しいのでしょうという結論に至り、じゃ、いったいそれはなんぞや?て、なところで、

一応、参考にしたサイトはこちら。

 

www.apps-gcp.com

 

で、この方は、

「GoogleCloudConsoleからCloud functionsを選択し、関数を作成を押下します。」

 

ってあったので、おーなんか簡単そうだぞーって思い

 

よくわからないけど・・・言語?APIか。Firebaseっていうんですねー?なにそれー。まぁいいっかーー。

Firebaseのオンラインコンソール、GoogleCloudConsoleなるものを使えるようにしよーということでググググとググったが・・・

GoogleCloudConsole 完全無料じゃないんかーい!! (←期間限定無料)

えー。どうするの。

こりゃローカルに何かしらの環境を作らなきゃいけない系????? ひえー。

やったことないが、せっかくなのでやってみよう・・。

てなことで・・・・

 

Firebaseって凄いなぁ。Firebaseを使うには、Node.jsのコマンドプロンプトから、Firebaseにログイン、そっからデプロイ。という手順らしい。

Firebase CLI リファレンス  |  Firebase

まぁ、環境構築とうか、構築とは言わないのかなー。こちらで用意する環境は、Node.js、これひとつで済んだ、というイメージであります。

(実際のコードは、とりあえずテキストエディタでちまちま書いてみる流れ)

コマンドプロンプトとかあんま使わないできた人生。使う必要があれば使うという程度で、便利ソフトウェアでポチポチぬくぬくと生きてきたので、コマンドを叩くというのはなかなか慣れぬですー。。

ただ、コマンドタターン!からの~ログ流れる~!・・Complete!ってのは、見た感じはカッコいいよね!!(そこ

 

んで、肝心のソースコード。お手本どこ? 

www.apps-gcp.com

この人のも多少書いてはあるけど、これコピペするだけじゃ動かないので、とりあえず、Googleの用意した動くサンプルのソースコードをコピってそれを自分用に書き換えるのがきっと手っ取り早いんだろうと思ったので、そうする事にしました。

 

実際には、Dialogflow > Fulfillment > Webhook の、Inline Editor をポチっとENABLEDにすると出て来るサンプルコード(index.js)をコピペしました。

 

f:id:icachanbot:20190521090932j:plain

 

で、色々つまづいたんですが、Error:module error 的なやつが出たー。

moduleが足りないのかーい。Firebaseは使う予定のモジュール全部を入れてくれている話ではなかったのか・・・?

解決してくれたリンクを貼り付けておきます。

qiita.com

これ( npm-install-missing)はつまり、途中で気付いたんですがindex.jsと一緒のディレクトリにあるpackage.jsonに記載があるが、モジュールインストールされていないものを察知してインストールしてくれるというものらしい。

index.jsにいくらコード書いてもだめで、Errorで出た問題のモジュールが、まずpackage.jsonちゃんと書いてあるか確認。

書いてなかったら書いて、

(私の場合この3つが足りなかったようだ) 

    "dialogflow-fulfillment": "^0.4.1",
    "firebase-functions": "^2.3.0",
    "actions-on-google": "^2.1.3"

 npm-install-missing

タターン!OK~~~。

これでとりえずデプロイできるようになった。

Deploy complete! ヤッタネ!!

んで、デバッグ作業。

デバッグは、どうすれば?? とりあえずログ見ようかーてなことで・・

console.logを・・ この画面にアクセス。 

https://console.firebase.google.com/

ダッシュボードの「ログ」から、地道にデバッグ作業をする。

f:id:icachanbot:20190521092918j:plain

 なんかエラーでてるところあるーなーと見て見て・・

いくと、、、この参考にした人のサンプルコードが違ったんですね。

www.apps-gcp.com

私が取得したデータ構造と違うぞー。

request.body.result.parameters.boardgame

こちら、正しくはこっちでした。

request.body.queryResult.parameters.boardgame

なんだろ?何かしらバージョンが違ってたのかね?

この方と全く同じ環境であればresultの方だったのかなー。私の環境じゃqueryResultでしたなー。

・・・とか、なんとかなんとかやっているうちに動きました。

 

f:id:icachanbot:20190521111457j:plain

f:id:icachanbot:20190521111555j:plain

ただ、「すごいね!」には、冷たい・・いかちゃん

f:id:icachanbot:20190521111801j:plain

用意した質問と用意した回答でしかデモできないところが辛い・・

雑談をする事を想定した回答も私が用意しなきゃならないので。面倒だー。やるのか?やるか??うーーん。。

その点、A3RT(リクルート製)だと、テキトーにそれっぽい返事を返してくれてて、雑談はできそうな模様・・・

f:id:icachanbot:20190521112006j:plain

そっかー、A3RTだったらもっと雑談できるのに。(今更)

リクルートが一歩リードしている気がする・・。

DialogflowごしにA3RTを呼び出そうか? うーーん。

ほんと、赤ちゃんに言葉を覚えさせる、言葉を用意してあげる。という感じ。なかなか地道な作業だな。

今は、ただのテキストエディタにテキスト殴り書きしただけって感じなので、これを発展させるには、バックで返答用DBを用意、Firebaseで返せるようにして、発言に必要なバイパスをDialogflowで用意してあげれば一気に赤ちゃんBOTから凄い知識豊富BOTになれるんだろうなー。これば巷でやってるQ&AのカスタマーチャットBOT開発なるんだなーなんて。

思ったのでした・・・

 

それにしても、この1~2日で、ざっと勢いとノリでやったので、パソコン再起動してまっさらな状態で同じ事やろうとしたらもう忘れてるかもしれぬ・・・

 

ということでブログにメモメモでした・・・・やっとウィンドウの×ボタン押せるよね・・・w

 

A3RTでPHPからURL叩いて(POST)返答をキャッチしてWeb画面上に出すみたいなチャットサンプルも作ってみたので、それを色々いじってみるかはまた考えたいなーと思いますー。

 

では。今日のブログはここまで。

 

事件です

何気なく、いかちゃんのお誕生日をアカウント作った日にしたら、アカウントロックされましたwwwwwwww

f:id:icachanbot:20190520132529j:plain

事件です・・twitterアカウントロック

この解除には、免許証かパスポート等の公的機関発行の証明書をアップロードせよという画面に自動的に切り替わりました。

やだなー。新手のフィッシングサイトを疑ってしまうよ。

これ証明書UPしなくてもtwitterが納得してくれる方法ないの??????

 

 2019年5月16日にしたんだけどwww 生後4日のベイビーちゃんなんですけど・・・・・wwww