Twilog
About
2023年の各種Twitter騒動のときに遅れ馳せながらTwilogがどういうサービスか知り、Twitterを自動で日記化するという便利さに気づいたので自作し始めたページ。
Zapierを起点としてTweetをGoogle Spreadsheetに蓄積→GitHub Actionsのscheduled workflowで定期的にCSV Endpointからデータを自動取得してwebページ化、という仕組みを実現していたのだが、結局Twitter APIの締め付けは留まるところを知らず、データ取得の維持が大変になったので店じまい。
その後は本家Twilogが再開されたので利用を開始し、不定期にCSVダンプを手動取得→スクリプトでJSONデータに整形してwebページ化する体制になった。
ZapierによるTweet取得以前のデータも、Twitter公式機能で取得したアーカイブから過去データを構成し、webページ化した。
検索SaaSを使って検索機能も提供している。もともとMeilisearchで始めたが、後にfree tierがなくなったのでAlgoliaに移行した。
最新
2025/09/08 (Mon)
{
"createdAt": "2025年9月8日 03:11:53 JST",
"touchedAt": "2025年9月8日 03:11:53 JST",
"createdDate": "2025-09-08",
"text": "ベランダからしっかり見えた",
"id": "TwitterStatusId 1964753505316696233",
"idStr": "1964753505316696233",
"userName": "Gada / ymtszw",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg",
"retweet": null,
"inReplyTo": null,
"replies": [],
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": []
}
Gada / ymtszwベランダからしっかり見えた
{
"createdAt": "2025年9月8日 03:10:53 JST",
"touchedAt": "2025年9月8日 03:10:53 JST",
"createdDate": "2025-09-08",
"text": "ちょうど月食だったのか",
"id": "TwitterStatusId 1964753253562024147",
"idStr": "1964753253562024147",
"userName": "Gada / ymtszw",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg",
"retweet": null,
"inReplyTo": null,
"replies": [],
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": []
}
Gada / ymtszwちょうど月食だったのか
2025/09/07 (Sun)
{
"createdAt": "2025年9月7日 23:19:48 JST",
"touchedAt": "2025年9月7日 23:19:48 JST",
"createdDate": "2025-09-07",
"text": "S3 Heroic Clear GG!!\n安定したTryができたシーズンだった\n#wowjp #warcraft #ut_wow https://x.com/gada_twt/status/1964695099541217546/photo/1",
"id": "TwitterStatusId 1964695099541217546",
"idStr": "1964695099541217546",
"userName": "Gada / ymtszw",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg",
"retweet": null,
"inReplyTo": null,
"replies": [],
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": [
{
"url": "https://x.com/gada_twt/status/1964695099541217546/photo/1",
"sourceUrl": "https://pbs.twimg.com/media/__NOT_LOADED__",
"type_": "photo",
"expandedUrl": "https://x.com/gada_twt/status/1964695099541217546/photo/1"
}
]
}
Gada / ymtszw{
"createdAt": "2025年9月7日 11:36:00 JST",
"touchedAt": "2025年9月7日 11:36:00 JST",
"createdDate": "2025-09-07",
"text": "山本由伸、ノーヒットノーランならず\n\nあと1アウトでノーノー達成でしたが、\nホリデーに本塁打を浴びる...\n\n惜しくも達成とはなりませんでしたが、\n本当に素晴らしい投球でした\n\n8.2回112球1安打10奪三振2四球1失点\n\n🎥@MLB \n#山本由伸 #ドジャース\n https://x.com/MLB/status/1964507693949014080/video/1",
"id": "TwitterStatusId 1964517982123725270",
"idStr": "1964517982123725270",
"userName": "Gada / ymtszw",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg",
"retweet": {
"fullText": "山本由伸、ノーヒットノーランならず\n\nあと1アウトでノーノー達成でしたが、\nホリデーに本塁打を浴びる...\n\n惜しくも達成とはなりませんでしたが、\n本当に素晴らしい投球でした\n\n8.2回112球1安打10奪三振2四球1失点\n\n🎥@MLB \n#山本由伸 #ドジャース\n https://x.com/MLB/status/1964507693949014080/video/1",
"id": "TwitterStatusId 1964517982123725270",
"userName": "【SS】大谷速報&スポーツ速報",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1734409443348283392/L1tsuY4x_200x200.png",
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": [
{
"url": "https://x.com/MLB/status/1964507693949014080/video/1",
"sourceUrl": "https://pbs.twimg.com/amplify_video_thumb/__NOT_LOADED__",
"type_": "video",
"expandedUrl": "https://x.com/MLB/status/1964507693949014080/video/1"
}
]
},
"inReplyTo": null,
"replies": [],
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": []
}Gada / ymtszw retweeted
【SS】大谷速報&スポーツ速報山本由伸、ノーヒットノーランならず
あと1アウトでノーノー達成でしたが、
ホリデーに本塁打を浴びる...
惜しくも達成とはなりませんでしたが、
本当に素晴らしい投球でした
8.2回112球1安打10奪三振2四球1失点
🎥@MLB
#山本由伸 #ドジャース
あと1アウトでノーノー達成でしたが、
ホリデーに本塁打を浴びる...
惜しくも達成とはなりませんでしたが、
本当に素晴らしい投球でした
8.2回112球1安打10奪三振2四球1失点
🎥@MLB
#山本由伸 #ドジャース
2025/09/06 (Sat)
{
"createdAt": "2025年9月6日 12:32:26 JST",
"touchedAt": "2025年9月6日 12:32:26 JST",
"createdDate": "2025-09-06",
"text": "Traumatizing my Ethereal Soul Trader by bringing him back home after 17 years.\n#warcraft https://x.com/WarcraftMeme/status/1964169291810369935/photo/1",
"id": "TwitterStatusId 1964169796158697671",
"idStr": "1964169796158697671",
"userName": "Gada / ymtszw",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg",
"retweet": {
"fullText": "Traumatizing my Ethereal Soul Trader by bringing him back home after 17 years.\n#warcraft https://x.com/WarcraftMeme/status/1964169291810369935/photo/1",
"id": "TwitterStatusId 1964169796158697671",
"userName": "Warcraft Memes",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1492603274465366016/UowlY4Ni_200x200.jpg",
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": [
{
"url": "https://x.com/WarcraftMeme/status/1964169291810369935/photo/1",
"sourceUrl": "https://pbs.twimg.com/media/__NOT_LOADED__",
"type_": "photo",
"expandedUrl": "https://x.com/WarcraftMeme/status/1964169291810369935/photo/1"
}
]
},
"inReplyTo": null,
"replies": [],
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": []
}Gada / ymtszw retweeted
Warcraft MemesTraumatizing my Ethereal Soul Trader by bringing him back home after 17 years.
#warcraft
#warcraft
{
"createdAt": "2025年9月6日 09:21:46 JST",
"touchedAt": "2025年9月6日 09:21:46 JST",
"createdDate": "2025-09-06",
"text": "台風一過でちょっとだけ秋の気を帯びたけど、またすぐ夏に戻りそうな日差し",
"id": "TwitterStatusId 1964121813996212347",
"idStr": "1964121813996212347",
"userName": "Gada / ymtszw",
"userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg",
"retweet": null,
"inReplyTo": null,
"replies": [],
"quote": null,
"entitiesTcoUrl": [],
"extendedEntitiesMedia": []
}
Gada / ymtszw台風一過でちょっとだけ秋の気を帯びたけど、またすぐ夏に戻りそうな日差し