bird2026年5月16日のつぶやき@digitune.bsky.social

2026年5月16日のつぶやき@digitune.bsky.social

ちょっとハッシュタグのテストをするよ。 #テストタグ (10:21 bskyから・詳細)

もう一回。 #テストタグ (10:25 bskyから・詳細)

もう一度。 #test#test2#test3#test4 (11:02 bskyから・詳細)

こういうのとか。 #テスト ほげ (11:02 bskyから・詳細)

こういうのも。 #test,#test2,#test3,#test4 (11:08 bskyから・詳細)

エンゲージメントを増やすのに、ハッシュタグの利用は話題横断的な接触が増えて良い効果があるんじゃないかと思うけれど、今のところbskyではさほど活用されていない様子。

で、日本語のポストのハッシュタグを直近一日分集計してみたのだが、ポスト数順で上位のものを見てもあんまり面白くないことが分かった(汗。いわゆるトレンド的な流れを見ようと思うともう少し工夫する必要がありそう。単純に集計期間を1日ではなく1時間くらいにすれば多少は面白くなるだろうか?

次のポストに試しに集計した結果を貼っときます。 (12:54 bskyから・詳細)

  1. #AIイラスト (1092 posts)
  2. #おすすめ商品 (1036 posts)
  3. #お買い物 (1008 posts)
  4. #Amazonセール (994 posts)
  5. #アマゾン (989 posts)
  6. #Amazon購入品 (964 posts)
  7. #Amazon (960 posts)
  8. #AIart (650 posts)
  9. #青空ごはん部 (593 posts)
  10. #Yahooニュース (576 posts)
  11. #DLsite (444 posts)
  12. #イラスト (440 posts) (12:54 bskyから・詳細)

1時間だとこのくらい↓。botや機械生成系のポストを除外すれば良いのかな? 0. #DLsite (76 posts)

  1. #Yahooニュース (75 posts)
  2. #青空ごはん部 (54 posts)
  3. #AIイラスト (53 posts)
  4. #アマゾン (49 posts)
  5. #おすすめ商品 (42 posts)
  6. #Amazonセール (40 posts)
  7. #Amazon購入品 (39 posts)
  8. #お買い物 (38 posts)
  9. #Amazon (37 posts)
  10. #AIart (35 posts) (13:09 bskyから・詳細)

Golangの開発をdocker上で行っていると、COPY main.goしたあとのRUN go mod tidy && go mod download以降のlayerのcacheが効かず、何度もbuildしていると結構な量のゴミlayerが溜まってしまう。まぁsystem proneすれば一掃できるのだが、moduleのdownloadにも無駄な時間がかかるし、うまくcacheを効かせるうまい手はないかな… (14:12 bskyから・詳細)

botっぽいtagをいくつか見てみたが、思いのほか人がちゃんと付けている例が多そう。そうなると単に機械的に間引くより、

  • 集計期間を短め(1時間くらい)にして
  • 無理に1ポスト・10位前後までで収めるのではなく2~3ポストくらい使ってもう少し下の方まで含める

としてみると良いかな。試しに直近1時間の上位2ポスト分を下記に貼っときます。 (14:24 bskyから・詳細)

  1. #DLsite (81 posts)

  2. #Amazon購入品 (51 posts)

  3. #お買い物 (46 posts)

  4. #Windows (40 posts)

  5. #テレッテレー (40 posts)

  6. #Amazon (40 posts)

  7. #Amazonセール (39 posts)

  8. #青空ごはん部 (39 posts)

  9. #AIイラスト (39 posts)

  10. #アマゾン (37 posts)

  11. #おすすめ商品 (35 posts)

  12. #赤坂タイムス (23 posts)

  13. #AIart (22 posts) (14:24 bskyから・詳細)

  14. #イラスト (22 posts)

  15. #shorts (20 posts)

  16. #祝学マス2周年 (18 posts)

  17. #baystars (16 posts)

  18. #ドラたま (12 posts)

  19. #Yahooニュース (11 posts)

  20. #jujutsukaisen (10 posts)

  21. #トイレリフォーム (10 posts)

  22. #おしゃれな部屋 (10 posts)

  23. #ブラインド (10 posts)

  24. #インテリア (10 posts)

  25. #呪術廻戦 (10 posts) (14:24 bskyから・詳細)

本当の上位は定番化しているけれど、2ポスト分くらい使うと結構雑多なハッシュタグが含まれてきそう。これならそこそこ面白いかしら。 (14:24 bskyから・詳細)

  1. #イラスト (16 posts)
  2. #たんプリ (16 posts)
  3. #原神 (13 posts)
  4. #DLsite (12 posts)
  5. #ドラたま (12 posts)
  6. #祝学マス2周年 (11 posts)
  7. #aiart (11 posts)
  8. #一次創作 (11 posts)
  9. #consadole (10 posts)
  10. #阪神タイガース (10 posts)
  11. #ライフハック (10 posts)
  12. #PS5 (10 posts)
  13. #angelgate異界からの使者 (9 posts) (15:56 bskyから・詳細)

む。Goのプログラムから直接SendPostしてみたが、単純に投げるだけだとハッシュタグがリンク化されないのか。これはちょっと面倒だな… (15:57 bskyから・詳細)

image 0なるほど、hashtagsをlink化するにはちゃんとfacetを指定して投げ込む必要がある、ということか。やってみよう。

https://docs.bsky.app/docs/advanced-guides/post-richtext#rich-text-facets (16:08 bskyから・詳細)

image 1何をどう付けるか分からない時は現物を見るのが早い、ということでハッシュタグ付きポストをPythonで読んだときの中身を確認(2個目のfacet)。なるほど、そんな感じで付ければ良いのね…📝。 (16:16 bskyから・詳細)

image 2俺、素のbsky/atproto libを使っているけど、bot的に投げ込むプログラムなら↓こういうの使った方が楽、という話はあるな…まぁでももう少し作ってみよう。

https://github.com/danrusei/gobot-bsky (16:19 bskyから・詳細)

image 3↓この辺にfacet付きでsend postする例あり。

https://github.com/bluesky-social/indigo/blob/main/search/query_test.go#L231-L249 (17:01 bskyから・詳細)

  1. #青空ごはん部 (22 posts)
  2. #chibalotte (19 posts)
  3. #baystars (16 posts)
  4. #たんプリ (16 posts)
  5. #GeekNews (14 posts)
  6. #ドラたま (12 posts)
  7. #メンエス (11 posts)
  8. #写真集 (11 posts)
  9. #デジタル写真集 (10 posts)
  10. #メンズエステ (10 posts)
  11. #Movies (10 posts)
  12. #sumo (10 posts)
  13. #法政 (10 posts) (17:16 bskyから・詳細)

お、一発でうまくいった感。良き。 (17:17 bskyから・詳細)

てなわけでだいたい動くようになってきたので今日はこのくらいにして、次はGCPの無料枠を使うなりして定常的に動かす環境を作ってみよう。

これ、Bluesky Jetstreamを使ってGoで作っていますが、indigoにしろjetstreamにしろbskyはGo nativeっぽい雰囲気があってとても書きやすい。ちなみに今回一切生成AIを使わず、昔ながらの検索ベース(それもDuckDuckGo)で情報収集しながら作っています。最近privateではGoを使うことが増えたけど、まだまだ言語としては全然慣れておらず知らないことだらけなのでいろいろ学べて楽しい。 (17:23 bskyから・詳細)

あ、1ポスト目の先頭に改行が入っちゃうbug直すの忘れた(汗。直しておこう… (17:24 bskyから・詳細)

  1. #giro (4 posts)
  2. #Amazonセール (3 posts)
  3. #DLsite (3 posts)
  4. #AIart (3 posts)
  5. #お買い物 (3 posts)
  6. #angelgate異界からの使者 (2 posts)
  7. #プレアデスの深意 (2 posts)
  8. #macopism (2 posts)
  9. #キリトリセカイ (2 posts)
  10. #これからの人生 (2 posts)
  11. #青空ごはん部 (2 posts)
  12. #ramcot (2 posts)
  13. #Vtuber (2 posts) (17:46 bskyから・詳細)

めちゃくちゃハッシュタグが少なかった時の挙動を確認したくて直近5分の集計してみたけど、これでもポスト2つ分くらいは賄えてしまうのか。まぁロジック上は対応できたはずなので良しとするか<ちゃんとテスト書け。 (17:47 bskyから・詳細)

ちなみにpost数が同数の場合はより長いハッシュタグの順位が上になるようにしています。長さも一緒だったら辞書順。 (17:48 bskyから・詳細)

image 4ちょっとした翻訳をしたい、というニーズについても脱big techしてみようかなと、Firefox組み込みのローカル翻訳機能を使って任意の文章を翻訳できる下記のようなページをちゃちゃっとでっち上げた。

上部のTextAreaへ文章を入力すると、それが下部のエリアにリアルタイムに反映され、そうするとFirefoxがそれを検知してやはりリアルタイムに翻訳してくれる、というページ。めっちゃ小さいHTML(Incl. JS)ページを置いておくだけでローカルで完結して翻訳が使える。便利。 (18:11 bskyから・詳細)

む。botが投稿したpostがなぜかプロフィールの投稿欄に表示されていないな。なぜか返信欄には出ている。明日になれば詳細なdataが見られるはずなので(今でも見られるのだがちょっとめんどくさいw)、それを見ながら原因究明するか。 (18:17 bskyから・詳細)

む、そういえばbskyのリストってリポストやリプライ表示されないんだっけ?と思い慌てて確認してみたが、リポストは出ないものの自分へのリプライ(いわゆるスレッド化)は問題なく表示してくれるようだった。ほっ。 (18:58 bskyから・詳細)

冒頭「む」、が多いね(汗。 (18:59 bskyから・詳細)

image 5英語のタイトル、「Cat-Life Balance」って言うんだ。おもろー。

RT @otokawa03.bsky.social Volume 1 of the English edition of “Cat-Life Balance” (Kurone-san Doesn’t Meow) was released this week! Thank you to everyone who waited for the translation. I hope you’ll pick up a copy! 🤍🩵💛 (link) (19:08 bskyから・詳細)

image 6botから投げ込んだ1ポスト目、そもそもGetAuthorFeedでfilter未指定だとそもそも取得できないね(汗。下記によるとdefaultは"posts_with_replies"だと思うんだが、これだと取得できない、ってことなのだろうか?試しに"posts_and_author_threads"にしてみたら、さっきは見えていた2ポスト目も見えなくなった(汗。ぐぬぬ。

https://atproto.blue/en/latest/atproto/atproto_client.models.app.bsky.feed.get_author_feed.html (20:17 bskyから・詳細)

表示されないポストをピンポイントで取得して中身を見てみたけれどこれといって違いが分からず(汗。うーむ何が原因なんだ…

Followingフィードでは見える、プロフィール→投稿では見えない、プロフィール→返信なら見える、という状況。あとGetAuthorFeedでも見えないことが分かった、という感じか。もう一度botからポストしてみよう。 (21:27 bskyから・詳細)

  1. #AIイラスト (6 posts)

  2. #青空ごはん部 (5 posts)

  3. #AIart (5 posts)

  4. #Amazonセール (4 posts)

  5. #Amazon (4 posts)

  6. #StableDiffusion (3 posts)

  7. #山下葉留花『はるはる日記🌱 (3 posts)

  8. #seibulions (3 posts)

  9. #AIArt (3 posts)

  10. #アマゾン (3 posts)

  11. #お買い物 (3 posts)

  12. #SDXL (3 posts)

  13. #北海道日本ハムファイターズ (2 posts) (21:28 bskyから・詳細)

  14. #漫画が読めるハッシュタグ (2 posts)

  15. #lovefighters (2 posts)

  16. #タツキ先生は甘すぎる (2 posts)

  17. #埼玉西武ライオンズ (2 posts)

  18. #フォールアウト76 (2 posts)

  19. #danstelle (2 posts)

  20. #Fallout76 (2 posts)

  21. #Amazon購入品 (2 posts)

  22. #リクエスト受付中 (2 posts)

  23. #hbcradio (2 posts)

  24. #祝学マス2周年 (2 posts)

  25. #リノベーション (2 posts) (21:28 bskyから・詳細)

  26. #青空日本酒部 (2 posts)

  27. #ルームツアー (2 posts)

  28. #ニコ生開催中 (2 posts)

  29. #シェアラジコ (2 posts)

  30. #ばっどがーる (2 posts)

  31. #おすすめ商品 (2 posts)

  32. #radiko (2 posts)

  33. #animax (2 posts)

  34. #HBCラジオ (2 posts)

  35. #DLsite (2 posts)

  36. #AIお姉さん (2 posts)

  37. #AIgirl (2 posts)

  38. #青空晩酌部 (2 posts) (21:28 bskyから・詳細)

お、今度の投稿は見えた。変えたのはポストするときに指定する"createdAt"時刻にミリ秒成分を含めるようにしたこと。

indigoのsampleは軒並み"Format(time.RFC3339)“を使っていたのでこれで良いのかと思っていたのだが(これだと秒成分まででミリ秒成分は含まれない)、Web UIからポストした方にはミリ秒成分があるようだったので合わせてみたらビンゴだった、ってこと?

そういや今回は5分間に流れたポストのハッシュタグを3ポスト分にしたけど、それでもちゃんと埋まりますな。2時間分・3ポスト、くらいのバランスがちょうど良いかも… (21:32 bskyから・詳細)

  1. #yowayowasensei (230 posts)

  2. #tokyomx (197 posts)

  3. #よわよわ先生 (147 posts)

  4. #AIイラスト (123 posts)

  5. #ザセカンド (101 posts)

  6. #AIart (100 posts)

  7. #killblue (97 posts)

  8. #tvtokyo (97 posts)

  9. #アマゾン (88 posts)

  10. #おすすめ商品 (87 posts)

  11. #Amazon (87 posts)

  12. #お買い物 (86 posts) (23:30 bskyから・詳細)

  13. #kanteishikari (81 posts)

  14. #Amazon購入品 (80 posts)

  15. #Amazonセール (74 posts)

  16. #青空ごはん部 (63 posts)

  17. #ばっどがーる (63 posts)

  18. #animax (63 posts)

  19. #イラスト (63 posts)

  20. #天狼群 (63 posts)

  21. #bs11 (60 posts)

  22. #NoWar (54 posts)

  23. #TACO市アホエ (53 posts)

  24. #日本国憲法 (53 posts) (23:30 bskyから・詳細)

  25. #新たな戦前 (53 posts)

  26. #高市早苗 (53 posts)

  27. #9条 (53 posts)

  28. #キルアオ (50 posts)

  29. #THESECOND2026 (45 posts)

  30. #dropsofgod (35 posts)

  31. #神の雫 (35 posts)

  32. #illustration (29 posts)

  33. #アニメ鑑定士仮 (28 posts)

  34. #DLsite (28 posts)

  35. #oc (28 posts)

  36. #nur24jp (27 posts)

  37. #計算外 (27 posts) (23:30 bskyから・詳細)

おっと、session dataを消し忘れてまたこっちにポストしてしまった。いかんいかん。 (23:33 bskyから・詳細)

Prev | Next