2019年2月24日日曜日

YouTubeの生放送のチャットをPHPから書き込む

今回はYouTuve Liveのチャットの書き込みに挑戦します。
例えば、「チャンネル登録よろしくね」を100コメントごとに1回流すとか、
注意事項を10分ごと流すとか、特定のワードに対して自動で返すとか。
botってやつです。

今回は10分ごとにA⇒B⇒C⇒A…のコメントをローテーションするものを作ります。


APIの使い方は公式のここ
と検索してできた外国の動画でやり方を察しました。情報が少なくて苦労しました。
荒らしとかの関係なのか全然でてこない。謎です。

公式の「Try it now.」の以下のフォーマットが投げられればいいらしいです。



スパチャもたぶんtypeを変えればできそう。試さないけど。



今までのread操作とはやることが多いです。
①OAuth2.0での認証が必要なので、以前の記事を参照してトークンを作成。
ただし、書き込みなので
「https://www.googleapis.com/auth/youtube.readonly」
ではなく
「https://www.googleapis.com/auth/youtube」
でトークンを作る必要があります。
「get_token.php」の12行目を変更し、実行すればOK。
これは URLを送信するときにヘッダーに含まれるようにします。

 ②チャットのテキストのために配列を作ってそれをjson_encode関数で
変換して付与しています。
これを URLを送信するときにRequest bodyに含まれるようにします。

 コードは以下のようになります。
コードの前半は、以前の記事「登録チャンネルリストの出力」 の前半と同じです。

①にはAPIキー、②には今回は生放送中の動画のidを入れます。
https://www.youtube.com/watch?v=xxxxxxxxxxx
のxxxxxxxxxxxの文字列のことです。
③ここにコメントを入力です。絵文字はちょっとわかんないです。
読み出ししたのをコピペすればいけるか?

なお、トークンは読み出して作成するので今回はコード上に記述しません。
また、一度作成したトークンの更新処理を行っていないので1時間で無効になります。
50分ぐらいで更新とか工夫してください。。。






注釈として
69行目から78行目がRequest body部分です。ここにチャットIDやコメント文が入ります。
84行目 たぶんBearerの後にスペースが必要です。
92行目 ここでチャットの書き込みを行います。投げた結果が返ってきます。たぶん書き込みをすぐ消すときに使ったりするのかもしれない。
エラー401が返った場合は認証されてない⇒アクセストークンをうまく設定できていません。
エラー400の場合は認証ができているがRequest bodyのフォーマットが正しくなかったり、
チャットの連続投稿ではじかれたりしているのだと思われます。
95行目 ここで10分という時間を作ってます。
96行目 ここコメントのローテーション

2019年2月12日火曜日

Fighting Fantasy Legends Portalの感想と不具合と疑問

難易度についての感想
1章
マッピングすればノーミスクリアできるものの
運試しが必ず成功する「お守り」がないと失敗=スタート地点にもどる
ことになり何周もすることになってきつい。
しかし、即死ポイントがほとんどないのでイージー。
最低1度はスタート地点戻ることがあるので難所は後回しにして
ダイスを強化してからチャレンジすると楽。

2章
即死ポイントが多すぎる。
たぶんいくつかのクエストと後日談を無視すればノーミスでいけるかも?
ただし、混沌のチャンピオンがランダムエンカウントっぽいので運も必要。
最初の島の戦いの連戦も難しいし一番難しい。


3章
(たぶん未達だが)ノーミスは狙いは楽。
お金を稼いでお店でトームを買い続ければダイス強化できるのでイージー。
賭博場でルーンルーンは主人公が圧倒的な有利なのでそれで稼いでもいい。
最終決戦は長いもののお店で回復剤を二つあればいけると思うし、これもお店で揃えられる。
金の鍵入手がランダムなのでクエストをできるだけクリアを狙う場合はメンドクサイ。


//////////////////////////////////////////////////////////
不具合

全般
exe終了でハングする。タイトルまで戻ってからだとハングしづらい気がする
名前の入力ができない。たぶんEsc→半角だとすんなりできるような気がする
全体的に日本語のフォントが入っていないので白騎士が白士になっていたりする。
だいたい予想できるが、気になるなら英語に直して読むという手もある。

1章
途中、トンネル?を通ってスタート地点を戻るとそれからずっと雑踏の音がずっとする
スロムのあたりのイベントがなんかおかしい
黒い本(罠感知の薬)のフラグがおかしい 赤い本のフラグになっている
ドワーフと何度でも戦える状態になることがある
罠のダーツが失敗すると繰り返しダーツをやらされる

2章
殺人事件関係の人物のフラグが逆転している?
エルフの回復がUターンすると何度でも取れる(いけるのは外れルートなのでメリットは無いかな)
野良犬にも木の笛が効くのはいいが文章が双頭の犬
リッチクイーンがライチクイーンとか間抜けな誤訳

3章
ナンディベアの報酬が何度でも取れて大金持ちになれる
星石の洞窟で3分岐のところで不正解ルート後に運試し失敗で体力があっても20ダメくらうと死ぬ
星石の洞窟で3分岐のところで不正解ルート後に運試し成功でもハング?
ガイドに預言者に会わない⇒去るの選択でハング

//////////////////////////////////////////////////////////
情報求む
疑問
1章
にんにく(なぞなぞで入手できる)とブラックパールと短剣、エルフの短剣は使い道が不明
ルビー(穴で技術試し失敗)とトパーズは金貨の替わりだけ?

2章
骸骨王から出てくる鏡の使い道
銅の指輪はのろわれるだけ?
盾の部屋のルーン文字クエストはわざわざクエストになっている意味ある?
蜘蛛に捕まっているビリーボブがする「泉の水を飲んではいけない」というアドバイスは3章の泉のことOK?飲まないと死ぬのですが。

3章
甲虫の首飾り 野営の回復量が減る&ラスボスで使うと即死するだけ?

Fighting Fantasy Legends Portalの後日談集

ネタばれですね。
各章で条件によりエンディング時に出会った人物の後日談があります。
まったく無かったりちょっと文章が変わったりします。
攻略記事というわけではないですが、1周90分はかかってしまうので手助けになるかと。
後日談はゲームブックでは無く、今回ゲーム化に伴い追加したみたいです。
大層な話ではないもののこれはうれしいです。

わかっているところだけ下の方に書いときます。これでたぶん全部?
違うパターンがあれば情報求む!





















1章
・囚人:無しor有り
・ポイズン・アイヴィー:無しor有り
・トライアルマスターのドワーフ:固定
・スロム:2通り(死因による)




2章
・殺人事件:無しor指名した人の3通り。有罪の人以外の二人は指名と後日談条件が入れ替わっているかも?
・島の話:固定
・ドワーフの貴族:無しor有り(蜘蛛から助けると。死体が後日談前にもある)
・トライアルマスターのノイ:固定
・トライアルマスターのレクサス:固定
・サカムビット男爵:固定




3章
・マックス:無しor2通り(生死で変わる)
・主人公の友人ドレク:固定
・ガイドのゾッグ:無しor有り
・酒場の3人組:無しor有り
・宿屋の主人オビジー:無しor有り
・大食いの人:無しor有り

Fighting Fantasy Legends Portalの実績解除できない問題

情報求む!

Steamにある、ファイティングファンタジーレジェンドポータルの実績が
☆5全部とるくらいやり込んでも現在4つ解除されない状態です。













[追記2019/5/21:タイトルアンロック100%より①踏破の実績は解除できました。
実績はあと3つ]
①「踏破」はタイトルのアンロック100%だと思うのが、
あと一つがわかりません。技術試しで失敗が必要とか?普通選択しない何かか?






残り一つの名称でもわかれば、

だいたいこんな感じでマッピングしているので場所がわかるかなぁ?


[追記2019/12/12:アップデートにより②の実績は解除できました。
実績はあと残り2つ]
②「チャンピオンのトライアル」わからん。
2章をクリアで達成できそうな名前だけどバグなのかできない。


③「知れ渡る名声」
アイコンに10って書いてあるから
全部で10回クリアかと思ったけどダメでした。
それぞれの章で10回クリアか?それだとメンドクサイ。

④「最後の一人」(英語だとLast One Standingらしい)
3章で仲間をできるだけ入れずに、強制で入る仲間は死なせても無理。
できるだけ仲間増やした(つもり)でも無理。
ずっと酒場にいる主人公の友達はなんもないんか


2019年1月9日水曜日

記憶違いか発見があったのか「南蛮」という駒?

以下、かなりあやふやな記憶の話です。
大大将棋(巨大で駒の種類も膨大な将棋)に「南蛮」という駒があります。
自分が10年以上前に知った時
前方に移動できないという動きなのに、裏面があるという設計ミスな駒でした。
※古将棋は通常の将棋と違って駒は捕獲にできないので相手陣地に行くことは不可能。

なので、いずれ新発見があって解決するかなぁと思っていました。


最近調べたらウィキペディアではちゃんと前方へ動ける「動き」が載っているじゃないですか!
たぶん、以前見たのは注釈に書いてある
「『象戯図式』『諸象戯図式』では、斜め後ろに2マス、左に1マス動くとなっている。」
だと思われます。
南蛮は、北狄、東夷、西戎の4枚セットみたいなものでそれを踏まえると上記の動きもまぁそれほど
間違いじゃなかったように当時自分は納得しました。




ウィキペディアに書かれている動きの南蛮は上記の動きと比べてだいぶパワーアップしていますね。
「梅林勲・岡野伸共著『改訂版 世界の将棋・古代から現代まで』」
が情報ソースなのでしょうが、これはなんの古文書を見ての動きなのでしょうか?
ウィキペディアの記述だと4枚のバランスが悪いように思えますね。バランスとること自体が今風の考えなのかもしれませんが。
本の発行年が2000年なので自分が駒の存在を知ったより前ですね。あまりこの本が知られてなかったのでしょうか。

さらに。
「敵陣に入ったときではなく敵の駒を取ったとき成駒になる。従って盤上のどこでも成る可能性があり、
自陣・敵陣の意味はない。成りは強制で、成らないことを選択することはできない。」
ということはウィキペディアのルールに記述が。。。これも知らなかった。
じゃあ、前に移動できなくて成れるのか?ほんと?

うーん、いつのまにか世間は進んでいた。







古将棋は遊ばれた記録もあやふやらしい、古文書などの発見で更新されることがあるので、非常に興味深いです。
昔の偉い人がごり押しでこんな駒あったらいいなをやった感じがしないでもないです。

2018年9月30日日曜日

Vtuberの第一回 ライブ王決定戦 感想など

まぁ、うーんって感じでしたね

数字を取ったので軽くまとめ
縦軸の時間が22:30です。
※全員が生放送開始しないと取得できないコード書いてたので
22:02ぐらいからです

視聴者数
兎と種が競り合って逆転からの逆転ですね
豆は最後見捨てられて狸に既に移動してる感じ




視聴者数/開始時チャンネル登録者数(%)
新しいVtuberの方がアクティブは多いのかな?
種の人は96%もあります。ゲスト効果とかあるのでしょうが。すごいです。
急増はなに結果でしょうかね




チャンネル登録者数増加
アクティブな人を数百人増加ならメリットかな

高評価と低評価
高評価の右肩上がりな二人とフラットな二人
豆の低評価の急増と、インコの低評価の低さよ






勝者決定後(一部抜けあり)
なんで視聴者数一度減って増えているのだろうか?
ちなみに登録数増加1500人以上。

22:30時点の4人の視聴者数48450人。
決定後の最大視聴者数27401人
ってことはおおざっぱに21000人分が複窓か

2018年9月27日木曜日

プレミア動画と生放送の違い

プレミア動画というものを、ぽんぽこちゃんの動画で知ったのでAPIの挙動をどたばたしながらチェック
(収益化以上の状態必要っぽいけど、初めて見たのでここぞとばかりに確認)

全部確認できんかったけど、結果。


・検索のAPIの生放送でないので「&eventType=upcoming」や「&eventType=live」でヒットしない。
なので、最新の動画「&order=date」あたりで1番目に来るはずなのでみつけることもできる。
ゲリラとして使うことはないでしょから、放送前を見つけて動画IDをURLから直接とることもできる。
・プレミア動画は通常の動画違い[snippet] [liveBroadcastContent] => upcoming となっています。これを引っかけると自動検出できるかも。
※upcoming(放送前の状態)、放送中ならliveになる
・チャットは生放送と同じようにactiveLiveChatIdを取得できるのでいつものノリでチャットの取得可能
・視聴者数["liveStreamingDetails"]["concurrentViewers"]は、はっきり確認してないけどログを見ると無いかも。視聴者数はブラウザ上に表示できていたので他の方法で取得できるかも。

というわけで、API的にはちょっと違うのは検索ぐらいっぽいです。


ちなみにプレミア動画の流れ
 生放送のように、放送前からチャット可能
 時間になるとカウントダウンが2分程度始まる(必ずある?)
 その後、プレミア動画が始まる
 終了後も生放送のように終了する
 更新すると普通の動画に放送中のチャットが追加されたようになる

あっ、生放送通知については未確認です。

youtubeは、生放送でチャットのリプレイ追加などしているけどAPIは更新されてないみたい。
プレミア動画フラグとかありそうなんだけどなぁ。
※リプレイはソースからがんばって取得できるらしいけど。APIからじゃないのでちょっとアレ