ふぁぼ自重
最近、毎日twitterからいかちゃんがBANされるようになり、毎度ロック解除するのも骨が折れるので、・・・
思い当たる所と言ったら、30分おきのふぁぼかなーと。
1回あたり40件MAXでイカロス関連のツイを文字列キーワードで絞って検索し、その中で、まだふぁぼしていないツイートに対してふぁぼします。
1時間あたり2回実施してるんで、1日あたり48回実施している事になります。
こう数字にしてみると、確かに・・多い。
迷惑アカウントと認知されても仕方がないのかもしれない。
なので・・
それを、6時、8時、18時、22時。の1日4回に抑えようかと思います。
あと、1ふぁぼ対象検索40件抽出していたところを20件に変えて、これも自重する方向で。
これでしばらく様子見。
twitterのBANシステムにひっかかりませんようにww
チャットボットの方針
外出中に思いついたので、メモ。
忘れないうちにww
Dialogflowで、イカロスの単語の時だけFirebaseで返す。その他の雑談はとりあえず後回しにする方向で。
DialogflowのInstance機能は完全無視w デフォルトInstanceだけ使い、そいつにwebhook噛ませてFirebaseのフルコーディングで対応する。
Firebaseのデータベース機能で何とかデータ作って、作れるのか?そっから返答を呼び出す感じ?どうやってやるか知らんけど後で調べる。
無視した分の雑談については、サーバーのCRONで30分おきに、リクルートのA3RTを呼び出しPHPで雑雑談返答させる。
これは既にサンプルコードを用意してあるのであとは形を本番用に整えるだけ。
なんか見えてきたかもーーー??(゚∀゚)
全くDialogflowの学習機能とか良いところを使えないんですが、仕方がない。 ツイッター即時応答して、Firebaceを裏で動かせるだけで十分ありがたい。チャットボット返答をDialogflowのIntentを使わない準備段階メモ
今までDialogFlowのIntentに登録していたのをやめて、webhookのfirebase経由での返答に変更しました。
目的は、Webhook経由で最終的には「A3RT」へつなぐためです。
チャットで来る会話がイカロス系であれば、自分で用意したデータにアクセスして返答します。
そうでなければ「A3RT」が雑談を返すようにします。
やれることはわかっているし、やるべきこともわかっていて脳内では実現できているけれどそれを、実際Firebaseでどう書いたら実現できるのかを調べながらなので。
ムキー!となりますね。
あ~・・ 先が長い。
やったことメモ
--------------------------------
node.js いい機会なので、プロジェクトを作り直し。
前回でnode.js のインストールは終わっていたので。
ローカルのfunctionsフォルダ内に移動。
$logtin firebase
(googleアカウントにてログイン)
https://console.firebase.google.com/
にてプロジェクト新規追加
$firebase use --add
プロジェクト選択できるので選択
そこで以前作ったfuncitonのデプロイ
$firebase deploy
にてデプロイ。
しようとしたらエラーが出ました・・ !!
Enableがどうのこうの。
https://console.firebase.google.com/
の、Firebase Database を有効化します。
これで改めて
$firebase deploy
deploy complete!
なったら、https://console.firebase.google.com/
のFunctionで関数が出来ている事を確認。
そこの、HTTPリクエストURL
https://us-central1-XXXXXXXX.cloudfunctions.net/dialogflowFirebaseFulfillment
(XXXXXの部分はプロジェクト名)
をDialogFlowのFulfillmentに入力、SAVE。
あとは、全ての応答をWebhookで対応したいので、
Dialofflow Intent を全て消し、「Default Fallback Intent」のFulfillmentをEnableにします。
これれ、Webhook連携終了。
あとは、返答用データを用意して、実際返答するプログラムを書きます。
長い・・ てか、Firebase のデータベースをどう使うかを調べる所から。
ちょと今日はここまでにしときます。
・・・
Firebaseの有料プランでないと外部通信できないかもしれない疑惑
どのURLにrequest してもError: getaddrinfo EAI_AGAINになるにゃ。
積んだかも・・・wwwww
代替案を考えねばなー
Webhook自作?
アウアウアー
アイディアメモ・やり残しメモ
・いかちゃんが普段つぶやく内容で、時報が少し物足りないなーと思っているので、お昼のゴハン時とかそういうので何かしらつぶやく
イカロス食材リストメモ! - icachanbot’s blog
・フェロー情報をDBに入れたい(ステータスも含め)
何かいいアイディアないかなー
いかちゃんのアプデ情報収集とそのデータ扱いと短縮URLとか
結局、テキストファイルに情報を色々入れるのは追加いがってが悪いので、DBにデータを保存収集してアプデの有無をチェックする事にしました。
1時間ごとに情報収集するようにしました。
仕様を色々書き換えました。
いかちゃんのお仕事内容 - icachanbot’s blog
そういえば、Googleの短縮URLサービスがなくなったんですね、知らなかったです。代わりにGoogleのFirebaseが提供しているDynamicLinkとやらを使ってみました。
便利になったもんですねぇ。
このFirebaseはDialogflowの裏側でWEBHookそとして動いてるやつですね。
テストコードしか書いてないんですけどw
最近触ってないので忘れがちですがそっちも色々改良していきたいんですが、思いつくとすぐ別の事をやりはじめちゃうので、いけないですね。
アイディアメモ的な記事を残したら忘れないで良いかもしれません。
いかちゃんのお仕事内容
数日離れただけですっかり忘れてしまうので、メモします。
//30分ごと
/************************************
公式がツイートしたら無条件でリツイートするよ
*************************************/
公式様を労ってあげたい。と、いかちゃんが申しております。
/************************************
新着情報があればtwitterするよ
*************************************/
// イカロス公式サイトから、本日新着イベント(※)があれば取得
※公式のイベント情報 アクセスし、その日更新された情報があれば取得しています。
// 5:00
/*===============================================================
イカロスの時報をtwitterするよ(朝5時)
曜日別に色々ツイートするよ。
===============================================================*/
//「アケロン魔石争奪戦」
'本日は第2日曜日!アケロン魔石争奪戦、時間は21:00 ~ 23:00だよ! #イカロス '
//「エクサラン魔石争奪戦」ついでに図書館
'土曜日だよ~!エクサラン魔石争奪戦、時間21:00 ~ 23:00だよ! ついでに、図書館ボス強い日だよ~! #イカロス ';
//月曜
'月曜だよ~挑戦の塔の報酬受け取お忘れなく~ #イカロス '
etc
このように、特定条件の曜日他、通常の曜日も色々あります。
// 8:00
・いかちゃんのオリジナルつぶやき
DBに溜め込んである独断と偏見に満ちたつぶやきを吐き出します。
// 12:00
・その日のトレンド有名人を絡めたツイートをするよ。
twitterトレンドを解析するサイトを解析して人名取得してツイートします。
// 22:00
・その日のトレンドタグをイカロスと絡めたツイートをするよ。
twitterのトレンドタグを取得(TwistOAuth)し、ツイートします。
その他、雑談とか
・いかちゃんに返信するとランダムで何かしら返すようにしています。
・各時間ごとに、#イカロス を検索してふぁぼするようにしてます。
・フォロー返し、適時するよう設定しています。
icachanbot再始動。
ようやく垢回復しました。
9日ぶりのいかちゃんです。
既に勝手に動いてますねー。
公式様お疲れ様です https://t.co/RtbkPSEtT9
— いかちゃん (@icachanbot) 2019年5月29日
というか・・・どういう条件で動い打てるんだっけ?って、、、もうすっかり脳みそが吹っ飛んでます。
いかちゃんのバックで動くデータをDB化したいですよねー。
今ただのテキストから読んでるだけなんで・・・
またそのうち。