「Twitter」に関する日記(5)

<前 次>

mifumitterと美文のキャラ倉庫

mifumitter

先日言っていた別の方法がうまくいきそうなので、通知画面の開き方をちょっと改良しました。
「別の方法」って言うのは、Windows ServerでTwitter開きっぱなしにしていたブラウザを、最小化せずに、目立たないところに置いておくことでした。
まあ、これが本当に有効なのかはまた時間が経ってみないとわかりませんけどね。

で、今それとは別のトラブルに見舞われていまして…。
mifumitterの検索では、その検索だけで有効な検索ミュートがあるのですが、ミュートした人数が増えると、検索結果を表示できずに落ちてしまうようになったのです。

美文のキャラ倉庫

2022年5月26日 – 美文のキャラ倉庫
キャラまたいっぱい追加しました。
まだ古いデータからのコピペが中心ですが、一部のキャラは軽く追記や構成変更を行っています。

Twitter

言ったそばからいらない通知が再発したので、ちょっと別の方法を試しています。

mifumitterと美文のキャラ倉庫

mifumitter

TGWSAdmin用に契約していたWindows Serverでブラウザの画面にTwitter開きっぱなしにしたら、あんなにもしつこかった何の通知にもなっていない無益な通知がぱったり来なくなったので、気楽に通知を見られる状況になり、以前削除していた公式の通知へのリンクを復活させました。

美文のキャラ倉庫

旧CharaBoxからデータ移行中。
構想だけは膨らみまくったBomber丸Worldのキャラクター数がすごいことになっていて、まだまだ記入が終わりません。
昔弟と共有していて追記されたものは取り除かないといけなかったり、単純に表記を修正したかったりして、自動的に移行するというわけにはいかないので、ほとんどコピペではありますが、手作業です。
これが終わったら、うちまとに書いた内容とのマージ作業、それから記事間のリンクの整備ですね。

星のドラゴンクエストとmifumitter

星のドラゴンクエスト

星のドラゴンクエスト | ゲーム記
ゲーム記のページ公開しました。
最初の星もクリアしないうちに、嫌になってやめちゃったんですよね…。
いいところ何も書いてないんですが、あれこれ書こうとすると、全部の要素悪く言ってしまいそうだったんで、抑えました。

mifumitter


検索画面作りました。
ほとんどホームタイムラインの流用でできると思っていたのですが、リツイートを除外するクエリが違っていて、少し時間がかかりました。

Search Tweets - How to build a query | Docs | Twitter Developer Platform
これも公式に書いてありましたね、「-is:retweet」です。
v1.1のころの「exclude:nativeretweets」よりわかりやすく短くなりました。

検索機能自体はこれでおおむね完成です。
あとは、元の画面でやっていた検索の保存とか、検索用ミュートユーザー機能を付けていくことになります。

アンパンマンDBと更新履歴とTwitter API

アンパンマンDB

予告通り、アニメの管理メモ消しました。

更新履歴

先日の問題とは別に、そもそもPHPCRSS自体がいまひとつだと思っているので、ちょっと根本的なところから作り直しを始めました。
カテゴリ複数所属とかをできるようにしようと思っています。

Twitter API

昨日言っていたいいね取得が動かない件、原因がわかりました。
古すぎるいいねは、新しいいいねに流されて、取得できなくなってしまうのです。
不本意ですが、正しい挙動のようです。
まあ、それを見越してv2のAPIによる別の方法も併用しているのですけどね。
永久ではありませんが、まだ当分はアンパンマンワンドロへの悪影響はない見込みです。

アンパンマンDBとドラゴンクエスト10

アンパンマンDB

影響がある人はほぼいないと思いますが、アニメDBの管理メモ項目消します。
もともと自分用のメモに使っていたのですが、その用途は個人メモという形で置き換えられましたし、その後も残っていた区分付きタイトルの表示も、そのための専用項目を設けたので、管理メモとしては不要になりました。

Twitter API

先日から集中的に作っていたmifumitterとは別件ですが、アンパンマンワンドロ用に使っているいいね取得のプログラムが連続でテスト失敗しています。
今のところ、ワンドロへの影響はなさそうですが、今後もテスト失敗し続けるようなら、条件を特定しないと、同じ条件を踏んだ人が参加できないことになりかねません。
一時的な不調なら、対応不要かもしれませんが、しばらく様子を見守ろうと思います。

ドラゴンクエスト10

竜王城の決戦・再演(2022/5/12)|目覚めし冒険者の広場
再演だ!
過去に使えた交換用アイテムは使えないようなので、過去取れなかったのを取り直すにも、新たに集め直す必要があるようです。
報酬は、なんか使いどころが見えてきませんが、まあ、集めるだけ集めてみたいですね。

新バトルコンテンツ『深淵の咎人たち』開戦! (2022/5/10更新)|目覚めし冒険者の広場
こっちはちょうど今日から開始らしかったけど、私は挑戦権すらなしでした。
バージョン3進めないと!

mifumitter

どうやら検索等でもリツイートの省略の扱いは同じようです。
というより、ツイートを返すAPI自体が、Twitter API v2ではリクエスト・レスポンスともにほぼ共通する形式を持っていて、APIの目的ごとに追加のパラメータを持っているだけのようです。
となると、リツイートのメディアの補完に対応した共通部品を作るという方向性がいいかな。

mifumitter

リツイートのメディアがうまく取れない問題に遭遇。
まずそもそもの前提として、リツイートには、リツイートそのもののデータと、リツイートされた元ツイートのデータが含まれます。
そのリツイートそのものの本文は、「RT @○○: 元ツイートの本文」という形式になっているのですが、先頭に付く「RT @○○: 」の分だけ本文が長くなって、元ツイートが一定以上長いと末尾から省略されてしまいます。
で、どうやらリツイートに添付するべきデータは、Twitter API v2では本文末尾に付加されるURLを元に特定しているようで、末尾省略が発生すると、URLが消えたり不完全になったりして、特定できなくなってしまうようなのです。
解決するには、末尾省略を検出して元ツイートのデータを改めてリクエストする…とかかなぁ。

mifumitterとドラゴンクエスト10

mifumitter

詳細表示できるようになったし次はホームライムラインを!…と思ったら、
What's the equivalent `1.1/statuses/home_timeline.json` in V2 - Twitter API / Twitter API v2 - Twitter Developers
どうにもstatuses/home_timelineに直接対応するAPIはv2にはない模様。
なんてこった。
やりたいのはツイート一つ一つの情報を最新フォーマットで取得することなので、ツイートIDをv1.1で取得して、そのIDを元に/2/tweets(複数のツイートをID指定で取得)を使えば何とかなりそうです。

ドラゴンクエスト10

飛行士のシャツセット
おきがえリポちゃん ~ 飛行士のシャツセット ~ (2022/4/21)|目覚めし冒険者の広場
毎月のあれ。
空飛ぶ奴の恰好みたいなことを言ってたから空飛んで写真撮りました。
写真置き場「2022-04-25」

第11回 アストルティア・クイーン総選挙 大予選会! (2022/4/25 更新)|目覚めし冒険者の広場
こっちの投票もとりあえずやっときました。
一日一キャラ一票ずつらしいけど、毎日やるかどうかは未定。
気が向いたらね。

mifumitterとドラゴンクエスト10

mifumitter

タイムラインや検索結果をTwitter API v2対応にする準備。
表示の方は、先日実装した個別表示を連続でやるだけなので、呼び出すAPIをv2にすればOK。
ただ、表示だけをv2に対応したいわけではなく、公式クライアントにない機能を付けたいので、それを想定した作りを目指しています。

それと、ツイートに埋め込まれた動画はAPIで取得できないようで、公式クライアントに飛ばすしかないのですが、公式クライアントが嫌いすぎるので、なるべく公式クライアント要素の少ない、動画部分だけに集中できる表示方法を探していました。
https://platform.twitter.com/embed/Tweet.html?id=1500068088980537348
ツイート自体の埋め込みURLです。
埋め込みURLはみんなに見せるためのページが出るので鍵垢には無力ですが、見たくなる動画を投稿する人ってだいたいオープンに活動しているので、鍵垢のときだけ例外的に普通のTwitterに飛ばしたら良さそう。
いや、mifumitterと公式クライアントでアカウントが違うこともあるから必ずしもうまくはいかないか…?

ドラゴンクエスト10

『ドラゴンクエストタクト』コラボイベント「おともだちを作るの!」 (2022/4/23)|目覚めし冒険者の広場
ドラクエタクトとのコラボイベントが28日から始まるみたいですね。
タクトの方はやる予定は今のところありませんが、10だけで10側の景品はもらえるようなので、問題はなさそうです。

mifumitterとアンパンマン日替わり紹介bot

mifumitter

今後やりたいことの多くに絡んでくる、ツイートの個別表示を作っています。
Twitter API v2ではデータ構造が大きく変わっているので、/2/tweets/:idのドキュメントを見ながら作っています。
投票やリプライ数なんかも取れるのが、v1よりいいところなんですよね。

アンパンマン日替わり紹介bot

画像の添付に失敗するとそのツイート自体に失敗する現象に遭遇。
ネットワーク系のエラーは必ずしもすぐ直るわけではないけれど、リトライ機構は入れておいた方がいいかもしれません。

TwitterLibとアンパンマン日替わり紹介bot

TwitterLib

mifumi323/twitter-lib - Packagist
うちのサイトで自作して使っている薄いラッパー、2年ぶりぐらいにアップデートしました。
サイト内ではちょくちょく機能追加してたんですが、一般公開用は全然だったので。

アンパンマン日替わり紹介bot

Twitter API v2が使えるようになった関係で、引用リツイート数もわかるようになったので、注目のツイートの計算方法を変えてみました。
Twitter公式で見えるリツイート数は公式RT+引用数なので、それに合わせた形です。
TwitterLibのアップデートは今回のことを見越してのことでしたが、諸々の都合で、結局TwitterLibの方は過去の更新だけを公開しました。

Twitter API

Standard search API | Docs | Twitter Developer Platform
GET /2/tweets/search/recent | Docs | Twitter Developer Platform
Twitterの検索API調べてました。
検索クエリの上限文字数を知りたかったのですが、一般ユーザー向けとしては、以下のように書いてありました。

バージョン1.1:500文字
バージョン2:512文字

で、「文字(characters)」って何なの?ってことで、実測したのが以下のツイート。


バージョン1.1ではバイト数単位のようで、バージョン2は12文字増えたと思いきや500バイトすら検索できない模様。
マルチバイト文字で500バイト前後のパターンも試してみるか…。

Twitter API v2とドラゴンクエスト10

Twitter API v2

GET /2/tweets/:id | Docs | Twitter Developer Platform
Twitter API v2をいろいろ試していました。
投票とか引用とかは1.1になかった機能ですね。
私が使うのは大体自分専用のmifumitter向けになると思いますが、アンパンマンワンドロとか日替わり紹介botとかにも何かしら使えそうです。

ドラゴンクエスト10

ミフミンの海賊のクエストちょっとだけ進行。
お使いは滞りなく終わったけど、やっぱりきな臭い方向に動き出しました。

Twitter APIとドラゴンクエスト10

Twitter API

Twitter API v2開発準備してきました。
v1.1を利用中だと、審査なしで高度な方のElevated Accessが使えます。
で、

GET /2/tweets/:id/liking_users | Docs | Twitter Developer Platform
このAPIがアンパンマンワンドロのいいねチェックに使えないかなーって思って、試しているところです。

ドラゴンクエスト10

【2021再演】FFXIコラボイベント「シャントット博士来たる」
FF11コラボイベントの再演いつからだったかなと思ったら、とっくに始まっててもうすぐ終わりじゃないですか!!
新報酬があるのでその分だけでもやっておこう。

ちょうど今日始まったプリズランの方は、私の好みなイベントじゃないので、今回もパスの方向かな…。

Tweetinvi

TGWSAdminで使っているTweetinviが今バージョン4なんですが、バージョン5が新たに出ていました。
しかもTwitter APIバージョン2にも対応しているようです。
ということで、さっそくバージョンアップを試みたのですが、かなり変わっていて、そのままでは動くどころかビルドすらできませんでした。
結構大掛かりな修正が必要になりそうです。

<前 次>