From 22b3ec2994438e690c65c2eb8ed87b9dd0a9b953 Mon Sep 17 00:00:00 2001 From: taizan-hokuto <55448286+taizan-hokuto@users.noreply.github.com> Date: Fri, 24 Jan 2020 01:14:23 +0900 Subject: [PATCH] Add test downloader --- error.json | 1 + pytchat/config/__init__.py | 2 +- pytchat/downloader/dictquery.py | 5 + pytchat/downloader/downloader.py | 9 +- pytchat/downloader/downloader_test.py | 304 ++++++++++++++++++++++++++ 5 files changed, 317 insertions(+), 4 deletions(-) create mode 100644 pytchat/downloader/downloader_test.py diff --git a/error.json b/error.json index e69de29..0c528fc 100644 --- a/error.json +++ b/error.json @@ -0,0 +1 @@ +{"endpoint":{"commandMetadata":{"webCommandMetadata":{"url":"/live_chat_replay/get_live_chat_replay?continuation=op2w0wSKARpQQ2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUIo1ZGVmR8wADgAQABIA1IcCAAQABgAIAAqDnN0YXRpY2NoZWNrc3VtQABYA2ABaAByBAgBEAB4AA%3D%3D","rootVe":83769}},"urlEndpoint":{"url":"/live_chat_replay/get_live_chat_replay?continuation=op2w0wSKARpQQ2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUIo1ZGVmR8wADgAQABIA1IcCAAQABgAIAAqDnN0YXRpY2NoZWNrc3VtQABYA2ABaAByBAgBEAB4AA%3D%3D"}},"xsrf_token":"QUFFLUhqbFlPU19uSDRJN280N3RtbzRCSXctS0hueGRfZ3xBQ3Jtc0trSG81WDNFcFlfaTJLMktCSDY4eFprVnB0OHg1Ni1USGNEV1ZOM1JnaUxpNFlhVTBiWmxVTkFDRW00bVpxQVdGcnRUWE9xYWNoYXNyZnVFUGd2Z0dPRmVhdmphX0RUeWZDektvY2JrcXJUYUJuaGxsZDRtb0g2N0ZmVGttb3N3X1RHelJuYThwelVNTDUwTzRrQ1Q1NGJzTXY4MUE=","timing":{"info":{"st":415}},"csn":"A7kpXoyqOZymlQSssLSIBQ","url":"\/live_chat_replay\/get_live_chat_replay?continuation=op2w0wSKARpQQ2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUIo1ZGVmR8wADgAQABIA1IcCAAQABgAIAAqDnN0YXRpY2NoZWNrc3VtQABYA2ABaAByBAgBEAB4AA%3D%3D","response":{"responseContext":{"serviceTrackingParams":[{"service":"CSI","params":[{"key":"GetLiveChatReplay_rid","value":"0x1a6d338e78d52cb7"},{"key":"c","value":"WEB"},{"key":"cver","value":"2.20200122.04.00"},{"key":"yt_li","value":"0"}]},{"service":"GFEEDBACK","params":[{"key":"e","value":"23744176,23804281,23813226,23821391,23827263,23837040,23837993,23839597,23842630,23847143,23848795,23855886,23857949,23859802,23859863,23860721,23861846,23864813,23865703,23866808,23868334,23868588,23869103,23871541,23871541,23872458,24500035,24630537,9449243,9471235"},{"key":"logged_in","value":"0"}]},{"service":"GUIDED_HELP","params":[{"key":"logged_in","value":"0"}]},{"service":"ECATCHER","params":[{"key":"client.name","value":"WEB"},{"key":"client.version","value":"2.20200122"},{"key":"innertube.build.changelist","value":"291102615"},{"key":"innertube.build.experiments.source_version","value":"290965843"},{"key":"innertube.build.label","value":"youtube.ytfe.innertube_20200122_0_RC1"},{"key":"innertube.build.timestamp","value":"1579762445"},{"key":"innertube.build.variants.checksum","value":"9b2191cf60df1ee19c6825dd835d212e"},{"key":"innertube.run.job","value":"ytfe-innertube-replica-only.ytfe"}]}],"webResponseContextExtensionData":{"ytConfigData":{"csn":"A7kpXoyqOZymlQSssLSIBQ","visitorData":"Cgs4anNvOHpCVXNIYyiD8qbxBQ%3D%3D"}}},"continuationContents":{"liveChatContinuation":{"continuations":[{"liveChatReplayContinuationData":{"timeUntilLastMessageMsec":5000,"continuation":"op2w0wSKARpQQ2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUIo27rOzR8wADgAQABIA1IcCAAQABgAIAAqDnN0YXRpY2NoZWNrc3VtQABYA2ABaAByBAgBEAB4AA%3D%3D"}},{"playerSeekContinuationData":{"continuation":"op2w0wSKARpQQ2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUIo27rOzR8wADgAQABIBFIcCAAQABgAIAAqDnN0YXRpY2NoZWNrc3VtQABYA2ABaAByBAgBEAB4AA%3D%3D"}}],"actions":[{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"物理法則壊れるー"}]},"authorName":{"simpleText":"とく#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-REKY_sZPtzc/AAAAAAAAAAI/AAAAAAAAAAA/XjSAJrwOfDg/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-REKY_sZPtzc/AAAAAAAAAAI/AAAAAAAAAAA/XjSAJrwOfDg/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDgyVlhsS1JHMXJMVVZEUmxKWVptZG5iMlJ5TWxsTFRIY1NIVU5OWms1NVQxOVZheTFGUTBaU2JucFhRVzlrTmpaVlFVaFJNVFE1RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRMnRPZEhKTVRWVnZPVGh1Y1VWNVVHeDBOV2RoTm5jJTNE"}},"id":"CjsKGkNPNlV5SkRtay1FQ0ZSWGZnZ29kcjJZS0x3Eh1DTWZOeU9fVWstRUNGUm56V0FvZDY2VUFIUTE0OQ%3D%3D","timestampUsec":"1553190668601966","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCkNtrLMUo98nqEyPlt5ga6w","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:34"}}},"clientId":"CMfNyO_Uk-ECFRnzWAod66UAHQ149"}}],"videoOffsetTimeMsec":"8374335"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"投げて気を引くやつは使わない感じ?"}]},"authorName":{"simpleText":"煌月兎"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-uGeMUjnbM_o/AAAAAAAAAAI/AAAAAAAAAAA/T-IZWFhIupU/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-uGeMUjnbM_o/AAAAAAAAAAI/AAAAAAAAAAA/T-IZWFhIupU/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHRFWVRKd1JHMXJMVVZEUmxOblYyZDNiMlJrYlVWQ2RIY1NIRU5NVEVGMU9GOUlheTFGUTBaUlYxWlhRVzlrVWxCQlFrZFJMVFVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRWeTF3VGpSMGF5MVliM05RTFRCeWRXVnZaVGRVVVElM0QlM0Q="}},"id":"CjoKGkNLRGEycERtay1FQ0ZTZ1dnd29kZG1FQnR3EhxDTExBdThfSGstRUNGUVdWV0FvZFJQQUJHUS01","timestampUsec":"1553190668905760","authorExternalChannelId":"UCW-pN4tk-XosP-0rueoe7TQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:34"}}},"clientId":"CLLAu8_Hk-ECFQWVWAodRPABGQ-5"}}],"videoOffsetTimeMsec":"8374638"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"真下に落ちるのはおかしくない!?"}]},"authorName":{"simpleText":"まんぼうどーふ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-jdB-YLgpFeI/AAAAAAAAAAI/AAAAAAAAAAA/ef7CZPjPmcI/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-jdB-YLgpFeI/AAAAAAAAAAI/AAAAAAAAAAA/ef7CZPjPmcI/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2tjS1JRb2FRMDE1Y21sS1NHMXJMVVZEUmxodFFYZG5SV1JPZUZsTk5YY1NKME5OVkZacE9HNXBheTFGUTBaUmMzQkxaMjlrUWxBMFFuRjNNVFUxTXpFNU1EWTNNelkxTmhBQUdqZ2FEUW9MVFdjMk0zUnhaamxCVlZrcUp3b1lWVU0yYjBSNWN6RkNSMmRDYzBsRE0xZG9SekZDYjNaUkVndE5aell6ZEhGbU9VRlZXU0FCS0FFeUdnb1lWVU00VjNWQmVrMU9jVU53ZFVreldrUnZjMnhHTnpOMw=="}},"id":"CkUKGkNNeXJpSkhtay1FQ0ZYbUF3Z0VkTnhZTTV3EidDTVRWaThuaWstRUNGUXNwS2dvZEJQNEJxdzE1NTMxOTA2NzM2NTY%3D","timestampUsec":"1553190669653452","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UC8WuAzMNqCpuI3ZDoslF73w","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:35"}}},"clientId":"CMTVi8nik-ECFQspKgodBP4Bqw1553190673656"}}],"videoOffsetTimeMsec":"8375386"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"ズルじゃん"}]},"authorName":{"simpleText":"brokun japanese"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-mzG3fIRL4QQ/AAAAAAAAAAI/AAAAAAAAAAA/9Zzs6AVay9Y/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-mzG3fIRL4QQ/AAAAAAAAAAI/AAAAAAAAAAA/9Zzs6AVay9Y/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHg2VDNFMVNHMXJMVVZEUmxZeVNIZG5SV1IzZUUxRFYxRVNIRU5RZVZKdVRVUkJheTFGUTBaV1pGWlpRVzlrWTJzMFVETjNOREFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRNVFZsWDNsbFdWTmFUMGxxVTJGRmEwOHdUR0kzUVElM0QlM0Q="}},"id":"CjoKGkNMek9xNUhtay1FQ0ZWMkh3Z0Vkd3hNQ1dREhxDUHlSbk1EQWstRUNGVmRWWUFvZGNrNFAzdzQw","timestampUsec":"1553190670231356","authorExternalChannelId":"UC15e_yeYSZOIjSaEkO0Lb7A","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:35"}}},"clientId":"CPyRnMDAk-ECFVdVYAodck4P3w40"}}],"videoOffsetTimeMsec":"8375964"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"ホーミング"}]},"authorName":{"simpleText":"kiro"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-hHMViuZSR1s/AAAAAAAAAAI/AAAAAAAAAAA/MDtakiy-pdw/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-hHMViuZSR1s/AAAAAAAAAAI/AAAAAAAAAAA/MDtakiy-pdw/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDE1VG5KS1NHMXJMVVZEUmxKWFltZG5iMlJ5WlZGSVpuY1NIRU5NVjFwdlgwUlRheTFGUTBaUlVqaExaMjlrYkhGalJFSlJPRGNRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRkeTFNVFZWelpXSXpNbVJUTm5vM1lYUnFMVlU1ZHclM0QlM0Q="}},"id":"CjoKGkNNeU5ySkhtay1FQ0ZSV2JnZ29kcmVRSGZ3EhxDTFdab19EU2stRUNGUVI4S2dvZGxxY0RCUTg3","timestampUsec":"1553190670239436","authorExternalChannelId":"UCw-LMUseb32dS6z7atj-U9w","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:35"}}},"clientId":"CLWZo_DSk-ECFQR8KgodlqcDBQ87"}}],"videoOffsetTimeMsec":"8375972"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"二撃!?"}]},"authorName":{"simpleText":"川口riran"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-Uje8oJOuC0g/AAAAAAAAAAI/AAAAAAAAAAA/v9zgf6y9hbY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-Uje8oJOuC0g/AAAAAAAAAAI/AAAAAAAAAAA/v9zgf6y9hbY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDlRWkdnMVRHMXJMVVZEUmxGNVJHZG5iMlJ1VEc5QloyY1NIVU5KY1RBdGMzcHBheTFGUTBaU1FYTkxaMjlrUVdRd1RHaFJMVEV4RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM0JVYW1wU1kwdE5hR3B5Y1V0c2FIVkJaV040Ym1jJTNE"}},"id":"CjsKGkNPUGRoNUxtay1FQ0ZReURnZ29kbkxvQWdnEh1DSXEwLXN6aWstRUNGUkFzS2dvZEFkMExoUS0xMQ%3D%3D","timestampUsec":"1553190671740643","authorExternalChannelId":"UCpTjjRcKMhjrqKlhuAecxng","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:37"}}},"clientId":"CIq0-szik-ECFRAsKgodAd0LhQ-11"}}],"videoOffsetTimeMsec":"8377440"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"上から隠密でいくのかな?"}]},"authorName":{"simpleText":"しんわく#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-XkDwjM_EbsE/AAAAAAAAAAI/AAAAAAAAAAA/9C0IZiDPmYE/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-XkDwjM_EbsE/AAAAAAAAAAI/AAAAAAAAAAA/9C0IZiDPmYE/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHh4VW5CS1RHMXJMVVZEUm1OSlIyZDNiMlJZZG5kQmVWRVNIRU5PVkhFM1lUTmtheTFGUTBaUmEwWlpRVzlrUVROUlNsWjNOVElRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRjeTFyUWpKa2VFVTNMVWhZZVhSa1ZYVXhVbGQ0WnclM0QlM0Q="}},"id":"CjoKGkNMcVJwSkxtay1FQ0ZjSUdnd29kWHZ3QXlREhxDTlRxN2EzZGstRUNGUWtGWUFvZEEzUUpWdzUy","timestampUsec":"1553190672206010","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCs-kB2dxE7-HXytdUu1RWxg","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:37"}}},"clientId":"CNTq7a3dk-ECFQkFYAodA3QJVw52"}}],"videoOffsetTimeMsec":"8377905"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"一気に門まで走るしかない?"}]},"authorName":{"simpleText":"ほろん#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-gwG_G4T1p4Q/AAAAAAAAAAI/AAAAAAAAAAA/lfvw4_aY1cY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-gwG_G4T1p4Q/AAAAAAAAAAI/AAAAAAAAAAA/lfvw4_aY1cY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDFNWkY5YVRHMXJMVVZEUmxKTVltZG5iMlJ0UlZsSVZYY1NIVU5NZW00M1lUTlVheTFGUTBaUlkyeFpRVzlrVjBwalJWOW5NVGt4RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM3BqZVhneU5ubFBWalpSYm5aTU9XNUtOVlF3T0djJTNE"}},"id":"CjsKGkNNTGRfWkxtay1FQ0ZSTGJnZ29kbUVZSFV3Eh1DTHpuN2EzVGstRUNGUWNsWUFvZFdKY0VfZzE5MQ%3D%3D","timestampUsec":"1553190673673922","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCzcyx26yOV6QnvL9nJ5T08g","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:39"}}},"clientId":"CLzn7a3Tk-ECFQclYAodWJcE_g191"}}],"videoOffsetTimeMsec":"8379373"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"ミスタのスタンド能力!"}]},"authorName":{"simpleText":"やおちょういちろう"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-NrD636eY_9E/AAAAAAAAAAI/AAAAAAAAAAA/5D9t0TaqF0k/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-NrD636eY_9E/AAAAAAAAAAI/AAAAAAAAAAA/5D9t0TaqF0k/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDFwVHpFMVVHMXJMVVZEUmxORlJHZDNiMlJ3WkdkTGRYY1NIRU5OY21NMGNsTXdheTFGUTBaU1ZuUkxaMjlrY0RsM1IxRlJOelVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRaMjVGVlVsV2VFeFJXbVZrVW1kUlNFOVhWeTB0UVElM0QlM0Q="}},"id":"CjoKGkNNaU8xNVBtay1FQ0ZTRURnd29kcGRnS3V3EhxDTXJjNHJTMGstRUNGUlZ0S2dvZHA5d0dRUTc1","timestampUsec":"1553190675138376","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCgnEUIVxLQZedRgQHOWW--A","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:40"}}},"clientId":"CMrc4rS0k-ECFRVtKgodp9wGQQ75"}}],"videoOffsetTimeMsec":"8380952"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"真下うちw"}]},"authorName":{"simpleText":"hujiyama"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-XPbsT33J8E4/AAAAAAAAAAI/AAAAAAAAAAA/GFNwVvq7DOI/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-XPbsT33J8E4/AAAAAAAAAAI/AAAAAAAAAAA/GFNwVvq7DOI/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMUJ4ZDJ0d1ZHMXJMVVZEUm1GV2RtZDNiMlExUTNkRFNWRVNIRU5LTm01cWRXWklheTFGUTBaUlJtcFpRVzlrVEZGclIxUm5Oek1RQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRUemMzUnpSblIxb3lZMWhzV0RCRk9UVkViRWhuVVElM0QlM0Q="}},"id":"CjoKGkNQcXdrcFRtay1FQ0ZhVnZnd29kNUN3Q0lREhxDSjZuanVmSGstRUNGUUZqWUFvZExRa0dUZzcz","timestampUsec":"1553190676109434","authorExternalChannelId":"UCO77G4gGZ2cXlX0E95DlHgQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:41"}}},"clientId":"CJ6njufHk-ECFQFjYAodLQkGTg73"}}],"videoOffsetTimeMsec":"8381923"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"鍵縄かな"}]},"authorName":{"simpleText":"さいししとう"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-GlnI58mseBw/AAAAAAAAAAI/AAAAAAAAAAA/cK6gP1q4Pj8/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-GlnI58mseBw/AAAAAAAAAAI/AAAAAAAAAAA/cK6gP1q4Pj8/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHN6U2pkd1ZHMXJMVVZEUmxWUExXZG5iMlJ6VDNOQlRtY1NIRU5NVDNjME4weFVheTFGUTBaWlVsZFpRVzlrTVdWRlJUUjNNVFVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkROSEJYUTJwUFRuSmhNM1p0Vm5kUE1teE1PSE50UVElM0QlM0Q="}},"id":"CjoKGkNLM0o3cFRtay1FQ0ZVTy1nZ29kc09zQU5nEhxDTE93NDdMVGstRUNGWVJXWUFvZDFlRUU0dzE1","timestampUsec":"1553190677619885","authorExternalChannelId":"UC4pWCjONra3vmVwO2lL8smA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:43"}}},"clientId":"CLOw47LTk-ECFYRWYAod1eEE4w15"}}],"videoOffsetTimeMsec":"8383440"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"急がば回れ"}]},"authorName":{"simpleText":"スイシン"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-OjWqF2jXXOE/AAAAAAAAAAI/AAAAAAAAAAA/9T98gUeWrz0/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-OjWqF2jXXOE/AAAAAAAAAAI/AAAAAAAAAAA/9T98gUeWrz0/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2pzS09Rb2FRMDFUWVMwMVZHMXJMVVZEUmxwTE4wUlJiMlJ6ZWpSSVRrRVNHME5NVUhGNU9IcEdheTFGUTBaVkxVaFhRVzlrUTBZd1RGaDNNQkFBR2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUJLQUV5R2dvWVZVTkhXR3A0VWtkaGEydHdRMUJOTVhSRGMzTllhalZS"}},"id":"CjkKGkNNU2EtNVRtay1FQ0ZaSzdEUW9kc3o0SE5BEhtDTFBxeTh6RmstRUNGVS1IV0FvZENGMExYdzA%3D","timestampUsec":"1553190677826884","authorExternalChannelId":"UCGXjxRGakkpCPM1tCssXj5Q","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:43"}}},"clientId":"CLPqy8zFk-ECFU-HWAodCF0LXw0"}}],"videoOffsetTimeMsec":"8383647"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"上に撃って射角をつければ"}]},"authorName":{"simpleText":"まかろん"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-A8PoPiANdJc/AAAAAAAAAAI/AAAAAAAAAAA/OjC1MWzyGXs/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-A8PoPiANdJc/AAAAAAAAAAI/AAAAAAAAAAA/OjC1MWzyGXs/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDlwYnpod1dHMXJMVVZEUm1OUE9HZG5iMlIyV0VWT1MxRVNIRU5NV0hVMmRVeExheTFGUTBaWmNXVlhRVzlrZVdwUlFsWm5OelFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRia1JxVnpWYVozSmpNM2MwUW1sNWNUbFpiSGRNZHclM0QlM0Q="}},"id":"CjoKGkNPaW84cFhtay1FQ0ZjTzhnZ29kdlhFTktREhxDTFh1NnVMS2stRUNGWXFlV0FvZHlqUUJWZzc0","timestampUsec":"1553190679778408","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/bmULOcu9CC7ATAhV3PkHVxoV12P_oJcnlP5fhDnZCY9oZcZJupWbDKl6RCsLzyz3F1rwrWsV6g=s16-c-k"}]},"tooltip":"メンバー(5 か月)","accessibility":{"accessibilityData":{"label":"メンバー(5 か月)"}}}}],"authorExternalChannelId":"UCnDjW5Zgrc3w4Biyq9YlwLw","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:45"}}},"clientId":"CLXu6uLKk-ECFYqeWAodyjQBVg74"}}],"videoOffsetTimeMsec":"8385504"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"俊足の草履かな?"}]},"authorName":{"simpleText":"幽霊夜織#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-qxpa8RIiv8Y/AAAAAAAAAAI/AAAAAAAAAAA/UvCuVYEamwc/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-qxpa8RIiv8Y/AAAAAAAAAAI/AAAAAAAAAAA/UvCuVYEamwc/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDVtY2kxYVdHMXJMVVZEUmxwdGMwUlJiMlJaZEZWSk9WRVNIRU5NWmpWcE9HSm1heTFGUTBaa1RUQkxaMjlrZEhaQlF6Wm5OREFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRVSHBOVFc1d2NFMHlMWE5wVFdkYVZraERUbnBaWnclM0QlM0Q="}},"id":"CjoKGkNOZnItWlhtay1FQ0ZabXNEUW9kWXRVSTlREhxDTGY1aThiZmstRUNGZE0wS2dvZHR2QUM2ZzQw","timestampUsec":"1553190679901655","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCPzMMnppM2-siMgZVHCNzYg","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:45"}}},"clientId":"CLf5i8bfk-ECFdM0KgodtvAC6g40"}}],"videoOffsetTimeMsec":"8385627"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"真上に撃ったんだよきっと"}]},"authorName":{"simpleText":"チータスチータス"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-Hv3YH1Z2XuA/AAAAAAAAAAI/AAAAAAAAAAA/oSMmceFa4qk/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-Hv3YH1Z2XuA/AAAAAAAAAAI/AAAAAAAAAAA/oSMmceFa4qk/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHQxV25RMVltMXJMVVZEUmxGR1V6ZFJiMlI2WlZWSWVHY1NIRU5KV0ZGb0xWaEdheTFGUTBaUk5EUlhRVzlrWWpSalRUQm5NelVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRPRTh5Vm1KSVpUQjRTbU4yU0VSVlgxaElNekpVZHclM0QlM0Q="}},"id":"CjoKGkNLdVp0NWJtay1FQ0ZRRlM3UW9kemVVSHhnEhxDSVhRaC1YRmstRUNGUTQ0V0FvZGI0Y00wZzM1","timestampUsec":"1553190680906923","authorExternalChannelId":"UC8O2VbHe0xJcvHDU_XH32Tw","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:46"}}},"clientId":"CIXQh-XFk-ECFQ44WAodb4cM0g35"}}],"videoOffsetTimeMsec":"8386633"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"今の弾道はないやろ"}]},"authorName":{"simpleText":"ヌコナナツメ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-Al1C6cSUv9Y/AAAAAAAAAAI/AAAAAAAAAAA/uiLVmhOLGGA/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-Al1C6cSUv9Y/AAAAAAAAAAI/AAAAAAAAAAA/uiLVmhOLGGA/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2tjS1JRb2FRMGt6TWpkYVltMXJMVVZEUmxwdGMwUlJiMlJTVDJ0SlMyY1NKME5RWlhocVpGUmlheTFGUTBaVlVrZExaMjlrZERBNFNqQm5NVFUxTXpFNU1EWTRNamM1TlJBQUdqZ2FEUW9MVFdjMk0zUnhaamxCVlZrcUp3b1lWVU0yYjBSNWN6RkNSMmRDYzBsRE0xZG9SekZDYjNaUkVndE5aell6ZEhGbU9VRlZXU0FCS0FFeUdnb1lWVU5oT1RsQ1ZHazJialo0Um1kdE9GTk9RemxpTmtGQg=="}},"id":"CkUKGkNJMzI3WmJtay1FQ0ZabXNEUW9kUk9rSUtnEidDUGV4amRUYmstRUNGVVJHS2dvZHQwOEowZzE1NTMxOTA2ODI3OTU%3D","timestampUsec":"1553190681803533","authorExternalChannelId":"UCa99BTi6n6xFgm8SNC9b6AA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:47"}}},"clientId":"CPexjdTbk-ECFURGKgodt08J0g1553190682795"}}],"videoOffsetTimeMsec":"8387529"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"画像認識による誘導ですね・・・"}]},"authorName":{"simpleText":"じゃんるい"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-zk63r1jpuFI/AAAAAAAAAAI/AAAAAAAAAAA/g3GB0giu74A/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-zk63r1jpuFI/AAAAAAAAAAI/AAAAAAAAAAA/g3GB0giu74A/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMUJEUWpRMVptMXJMVVZEUmxOeFIzZG5SV1JPUVVWS2IxRVNIRU5KVkMxclprUk9heTFGUTBaWk9GZFpRVzlrWmkxTlFXcDNOamtRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRZbWQxWDFGalIyTTJVVXRRWjJkellXMXFZVFJvVVElM0QlM0Q="}},"id":"CjoKGkNQQ0I0NWZtay1FQ0ZTcUd3Z0VkTkFFSm9REhxDSVQta2ZETmstRUNGWThXWUFvZGYtTUFqdzY5","timestampUsec":"1553190683721968","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCbgu_QcGc6QKPggsamja4hQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:49"}}},"clientId":"CIT-kfDNk-ECFY8WYAodf-MAjw69"}}],"videoOffsetTimeMsec":"8389486"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"手裏剣で一人ずつおびき寄せるとか?"}]},"authorName":{"simpleText":"Water Moon"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-BtshHeQFcEE/AAAAAAAAAAI/AAAAAAAAAAA/MbVYtCG5L0o/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-BtshHeQFcEE/AAAAAAAAAAI/AAAAAAAAAAA/MbVYtCG5L0o/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDlMYm1kS2FtMXJMVVZEUmxaeE0yZG5iMlIxTlRCS1duY1NIRU5LZGtzeFptSkxheTFGUTBaU2VHdFpRVzlrWkRrd1FWcDNOellRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRWVTltWm5CZlRucHdiRkZLTmtGUGJsWlJNME5MZHclM0QlM0Q="}},"id":"CjoKGkNPS25nSmptay1FQ0ZWcTNnZ29kdTUwSlp3EhxDSnZLMWZiS2stRUNGUnhrWUFvZGQ5MEFadzc2","timestampUsec":"1553190684201954","authorExternalChannelId":"UCUOffp_NzplQJ6AOnVQ3CKw","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:49"}}},"clientId":"CJvK1fbKk-ECFRxkYAodd90AZw76"}}],"videoOffsetTimeMsec":"8389966"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"左上の壁でいける"}]},"authorName":{"simpleText":"ダン"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-brqT5B4VuPM/AAAAAAAAAAI/AAAAAAAAAAA/b_Rka3uRowY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-brqT5B4VuPM/AAAAAAAAAAI/AAAAAAAAAAA/b_Rka3uRowY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDVEY20xd2FtMXJMVVZEUmxwUFNHZG5iMlEwWnpoSmNWRVNIVU5QVjJ3MFVGOW1heTFGUTBaUlpFVlhRVzlrVGpjd1NUVm5MVEl4RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRMDVLWDFKcGVrZFNSbXROYTNkVU16Y3RXVGhST1djJTNE"}},"id":"CjsKGkNOQ3JtcGptay1FQ0ZaT0hnZ29kNGc4SXFREh1DT1dsNFBfZmstRUNGUWRFV0FvZE43MEk1Zy0yMQ%3D%3D","timestampUsec":"1553190684628432","authorExternalChannelId":"UCNJ_RizGRFkMkwT37-Y8Q9g","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:50"}}},"clientId":"COWl4P_fk-ECFQdEWAodN70I5g-21"}}],"videoOffsetTimeMsec":"8390392"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"あの大砲追尾型かな!?"}]},"authorName":{"simpleText":"ユウキ#モルモット"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-Vjwd4zjjlKg/AAAAAAAAAAI/AAAAAAAAAAA/9UGihEPWDuo/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-Vjwd4zjjlKg/AAAAAAAAAAI/AAAAAAAAAAA/9UGihEPWDuo/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2tjS1JRb2FRMDAyV2pkYWJtMXJMVVZEUmxsaExVUlJiMlIxWnpSSmVVRVNKME5OY1VzeVdWQnRheTFGUTBaWk5IZFpRVzlrUmtVNFMxaEJNVFUxTXpFNU1EWTROelkzTmhBQUdqZ2FEUW9MVFdjMk0zUnhaamxCVlZrcUp3b1lWVU0yYjBSNWN6RkNSMmRDYzBsRE0xZG9SekZDYjNaUkVndE5aell6ZEhGbU9VRlZXU0FCS0FFeUdnb1lWVU5HVUZwNU9IbHNUMXByTUZwUVpIRm9SVWxaYm5WQg=="}},"id":"CkUKGkNNNlo3Wm5tay1FQ0ZZYS1EUW9kdWc0SXlBEidDTXFLMllQbWstRUNGWTR3WUFvZEZFOEtYQTE1NTMxOTA2ODc2NzY%3D","timestampUsec":"1553190688083150","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCFPZy8ylOZk0ZPdqhEIYnuA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:53"}}},"clientId":"CMqK2YPmk-ECFY4wYAodFE8KXA1553190687676"}}],"videoOffsetTimeMsec":"8393763"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"正面から行くの難しそうだけど周り込めたり出来ないのかな"}]},"authorName":{"simpleText":"りょう口先#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-rqwpXJweFAw/AAAAAAAAAAI/AAAAAAAAAAA/8ZUm8bBvodA/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-rqwpXJweFAw/AAAAAAAAAAI/AAAAAAAAAAA/8ZUm8bBvodA/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2tjS1JRb2FRMDF5ZEhoS2NtMXJMVVZEUm1ReVEzZG5SV1JuYTNOQ1MxRVNKME5MUXpGdFlYcGxheTFGUTBaa1ZuWlhRVzlrU2sxWlRYZEJNVFUxTXpFNU1EWTRPVEl3TVJBQUdqZ2FEUW9MVFdjMk0zUnhaamxCVlZrcUp3b1lWVU0yYjBSNWN6RkNSMmRDYzBsRE0xZG9SekZDYjNaUkVndE5aell6ZEhGbU9VRlZXU0FCS0FFeUdnb1lWVU5JTUZkSFFYQXRjbmgzTUVGTWJtVmhhbU5qY0dsbg=="}},"id":"CkUKGkNNcnR4SnJtay1FQ0ZkMkN3Z0VkZ2tzQktREidDS0MxbWF6ZWstRUNGZFZ2V0FvZEpNWU13QTE1NTMxOTA2ODkyMDE%3D","timestampUsec":"1553190689519306","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCH0WGAp-rxw0ALneajccpig","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:55"}}},"clientId":"CKC1mazek-ECFdVvWAodJMYMwA1553190689201"}}],"videoOffsetTimeMsec":"8395200"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"巫女さんのとこに着くまでに"},{"text":"3"},{"text":"回死んだ〜"}]},"authorName":{"simpleText":"yukimi#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-FArFf6Ygco4/AAAAAAAAAAI/AAAAAAAAAAA/mhhaI1F2WDU/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-FArFf6Ygco4/AAAAAAAAAAI/AAAAAAAAAAA/mhhaI1F2WDU/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHBoYTJrMWVtMXJMVVZEUmxGa2RXZDNiMlJSZUZGSU5VRVNIRU5KTWxabk9YWnBheTFGUTBaUlZXeFpRVzlrVVU5UlRXOUJMVEFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRjbEV0Y1djemIxVmhaMmRJWTBoelV6aEhZMUZhUVElM0QlM0Q="}},"id":"CjoKGkNKYWtpNXptay1FQ0ZRZHVnd29kUXhRSDVBEhxDSTJWZzl2aWstRUNGUVVsWUFvZFFPUU1vQS0w","timestampUsec":"1553190692770326","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/bmULOcu9CC7ATAhV3PkHVxoV12P_oJcnlP5fhDnZCY9oZcZJupWbDKl6RCsLzyz3F1rwrWsV6g=s16-c-k"}]},"tooltip":"メンバー(2 か月)","accessibility":{"accessibilityData":{"label":"メンバー(2 か月)"}}}}],"authorExternalChannelId":"UCrQ-qg3oUaggHcHsS8GcQZA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:58"}}},"clientId":"CI2Vg9vik-ECFQUlYAodQOQMoA-0"}}],"videoOffsetTimeMsec":"8398522"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"ハイテクノロジーだ"}]},"authorName":{"simpleText":"Kagari"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-cG4RwtAo4fs/AAAAAAAAAAI/AAAAAAAAAAA/_j62A7pcflY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-cG4RwtAo4fs/AAAAAAAAAAI/AAAAAAAAAAA/_j62A7pcflY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHBZWld4d2VtMXJMVVZEUmxSTFEzZG5SV1JaT1d0UVdGRVNIRU5QTXpscFN6ZHFheTFGUTBaU1RWcExaMjlrU0ZBMFJHUkJNVEVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRkblY1WVUxU2QyOHpiV1JOTTJkNldXaHZURFkwVVElM0QlM0Q="}},"id":"CjoKGkNKWGVscHptay1FQ0ZUS0N3Z0VkWTlrUFhREhxDTzM5aUs3amstRUNGUk1aS2dvZEhQNERkQTEx","timestampUsec":"1553190692957973","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCvuyaMRwo3mdM3gzYhoL64Q","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:58"}}},"clientId":"CO39iK7jk-ECFRMZKgodHP4DdA11"}}],"videoOffsetTimeMsec":"8398710"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"すごい射撃精度だ"}]},"authorName":{"simpleText":"Blue Tongue Lovers"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-zXrv3v1Cqas/AAAAAAAAAAI/AAAAAAAAAAA/-lNc14l53jA/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-zXrv3v1Cqas/AAAAAAAAAAI/AAAAAAAAAAA/-lNc14l53jA/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHAxWTNOS2VtMXJMVVZEUmxaRE1XZG5iMlJxVG1OUVUzY1NIRU5RV0ZnNFgzcGxheTFGUTBaUk9IQkxaMjlrY1ZwTlMzbG5NalFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRTMVpSVkc5Qk5FUTFWMWRMVjA5T2RXczBjM0IyVVElM0QlM0Q="}},"id":"CjoKGkNKdWNzSnptay1FQ0ZWQzFnZ29kak5jUFN3EhxDUFhYOF96ZWstRUNGUThwS2dvZHFaTUt5ZzI0","timestampUsec":"1553190693375515","authorExternalChannelId":"UCKVQToA4D5WWKWONuk4spvQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:19:59"}}},"clientId":"CPXX8_zek-ECFQ8pKgodqZMKyg24"}}],"videoOffsetTimeMsec":"8399127"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"大砲のほう向いた左側に回り込める場所ありますよ"}]},"authorName":{"simpleText":"しばくま"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-WQY4c4AGmrE/AAAAAAAAAAI/AAAAAAAAAAA/0oK9e4HMhck/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-WQY4c4AGmrE/AAAAAAAAAAI/AAAAAAAAAAA/0oK9e4HMhck/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHBYTmw5S00yMXJMVVZEUmxaaFFYZG5SV1JDTkZsQ2QzY1NIRU5LZW1wck5uSkdheTFGUTBaUmEwdFhRVzlrWHkxUlNuaDNNVFVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkROVFV6WnpoUVh6Rk9WbEpKYmtWdFpHMTBjV3BvUVElM0QlM0Q="}},"id":"CjoKGkNKVzZfSjNtay1FQ0ZWYUF3Z0VkQjRZQnd3EhxDSnpqazZyRmstRUNGUWtLV0FvZF8tUUp4dzE1","timestampUsec":"1553190696721685","authorExternalChannelId":"UC553g8P_1NVRInEmdmtqjhA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:02"}}},"clientId":"CJzjk6rFk-ECFQkKWAod_-QJxw15"}}],"videoOffsetTimeMsec":"8402453"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"正面特攻する忍びとは"}]},"authorName":{"simpleText":"bunko"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-x4NswUFyfAo/AAAAAAAAAAI/AAAAAAAAAAA/ljcgIR9w_ys/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-x4NswUFyfAo/AAAAAAAAAAI/AAAAAAAAAAA/ljcgIR9w_ys/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2pzS09Rb2FRMUJMUjNvMU4yMXJMVVZEUmxFeUxVUlJiMlJpTkZsQlNXY1NHME5RUkdaMldtWnRheTFGUTBaalkyeFpRVzlrUldwRlFWVlJNQkFBR2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUJLQUV5R2dvWVZVTmtNSFJZWDNwUGJWQXpWMDgxY2pOMVZYTlVkRVJC"}},"id":"CjkKGkNQS0d6NTdtay1FQ0ZRMi1EUW9kYjRZQUlnEhtDUERmdlpmbWstRUNGY2NsWUFvZEVqRUFVUTA%3D","timestampUsec":"1553190698074994","authorExternalChannelId":"UCd0tX_zOmP3WO5r3uUsTtDA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:03"}}},"clientId":"CPDfvZfmk-ECFcclYAodEjEAUQ0"}}],"videoOffsetTimeMsec":"8403806"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"いけますよ"}]},"authorName":{"simpleText":"刃ネズミ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-wXN5iYeO6FQ/AAAAAAAAAAI/AAAAAAAAAAA/4LXAw2k00RE/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-wXN5iYeO6FQ/AAAAAAAAAAI/AAAAAAAAAAA/4LXAw2k00RE/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDFtU0MxeFJHMXJMVVZEUmxKc09HZDNiMlJ0TTBsSkxYY1NIRU5LWHpkcVVHSkpheTFGUTBaWlUydFhRVzlrYUc5QlVEbFJNeklRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRjRzlWU0c5SVUzQkxiVnBDWjAxTFFtODFiSGRLUVElM0QlM0Q="}},"id":"CjoKGkNNZkgtcURtay1FQ0ZSbDhnd29kbTNJSS13EhxDSl83alBiSWstRUNGWVNrV0FvZGhvQVA5UTMy","timestampUsec":"1553190702982087","authorExternalChannelId":"UCpoUHoHSpKmZBgMKBo5lwJA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:08"}}},"clientId":"CJ_7jPbIk-ECFYSkWAodhoAP9Q32"}}],"videoOffsetTimeMsec":"8408727"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"陶片は使ってみない?"}]},"authorName":{"simpleText":"こずり"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-1srw3ITFAYQ/AAAAAAAAAAI/AAAAAAAAAAA/7Z_oW6HY8Xo/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-1srw3ITFAYQ/AAAAAAAAAAI/AAAAAAAAAAA/7Z_oW6HY8Xo/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDlpZFhaeFRHMXJMVVZEUmxWMU0yZG5iMlJuU2pCSFJFRVNIRU5NVUdONllqTm9heTFGUTBaVk9GZFpRVzlrVjBsRlFXUkJNVFlRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRlVVZ6YUdkcFF6ZG1TbFJMT0hKMVprRXlaamhJWnclM0QlM0Q="}},"id":"CjoKGkNPYnV2cUxtay1FQ0ZVdTNnZ29kZ0owR0RBEhxDTFBjemIzaGstRUNGVThXWUFvZFdJRUFkQTE2","timestampUsec":"1553190706198374","authorExternalChannelId":"UCyEshgiC7fJTK8rufA2f8Hg","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:11"}}},"clientId":"CLPczb3hk-ECFU8WYAodWIEAdA16"}}],"videoOffsetTimeMsec":"8411993"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"あれは?割れやすいかけら"}]},"authorName":{"simpleText":"棚からピロシキ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-2JdASUafF5A/AAAAAAAAAAI/AAAAAAAAAAA/KEKKRh99DQk/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-2JdASUafF5A/AAAAAAAAAAI/AAAAAAAAAAA/KEKKRh99DQk/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMUJNWmpNMlZHMXJMVVZEUmxVeU5XZG5iMlJHUVc5S01uY1NIVU5PZWtVNWRsQkZheTFGUTBaVmRGcFpRVzlrYnpWWlExUm5NVGM0RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM1poTTFSbFgxWmhaMjV1TjJkeWJrNWhkVlJPZUZFJTNE"}},"id":"CjsKGkNQTGYzNlRtay1FQ0ZVMjVnZ29kRkFvSjJ3Eh1DTnpFOXZQRWstRUNGVXRaWUFvZG81WUNUZzE3OA%3D%3D","timestampUsec":"1553190710931442","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/bmULOcu9CC7ATAhV3PkHVxoV12P_oJcnlP5fhDnZCY9oZcZJupWbDKl6RCsLzyz3F1rwrWsV6g=s16-c-k"}]},"tooltip":"メンバー(5 か月)","accessibility":{"accessibilityData":{"label":"メンバー(5 か月)"}}}}],"authorExternalChannelId":"UCva3Te_Vagnn7grnNauTNxQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:16"}}},"clientId":"CNzE9vPEk-ECFUtZYAodo5YCTg178"}}],"videoOffsetTimeMsec":"8416588"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"陰陽術とかでしょう(適当"}]},"authorName":{"simpleText":"Zenka K"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-5u8lWsnC6xU/AAAAAAAAAAI/AAAAAAAAAAA/1QFqGG9-4ZA/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-5u8lWsnC6xU/AAAAAAAAAAI/AAAAAAAAAAA/1QFqGG9-4ZA/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDF0VWpCeFdHMXJMVVZEUmxsUGFtZG5iMlI0TUZWR1IzY1NIRU5LTjJnMmRqZEhheTFGUTBaU1pGZFpRVzlrYkdzMFJuUm5NelFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRiRkp5VUZGR1ZYa3hXRTVyTVVaaldtSlBhblZRUVElM0QlM0Q="}},"id":"CjoKGkNNbVIwcVhtay1FQ0ZZT2pnZ29keDBVRkd3EhxDSjdoNnY3R2stRUNGUmRXWUFvZGxrNEZ0ZzM0","timestampUsec":"1553190712805577","authorExternalChannelId":"UClRrPQFUy1XNk1FcZbOjuPA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:18"}}},"clientId":"CJ7h6v7Gk-ECFRdWYAodlk4Ftg34"}}],"videoOffsetTimeMsec":"8418462"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"まるで日本だな"}]},"authorName":{"simpleText":"幽霊夜織#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-qxpa8RIiv8Y/AAAAAAAAAAI/AAAAAAAAAAA/UvCuVYEamwc/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-qxpa8RIiv8Y/AAAAAAAAAAI/AAAAAAAAAAA/UvCuVYEamwc/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDlITlc5eGVtMXJMVVZEUm1GTFJYZG5SV1JYYUdkQ05YY1NIRU5NWmpWcE9HSm1heTFGUTBaa1RUQkxaMjlrZEhaQlF6Wm5OREVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRVSHBOVFc1d2NFMHlMWE5wVFdkYVZraERUbnBaWnclM0QlM0Q="}},"id":"CjoKGkNPRzVvcXptay1FQ0ZhS0V3Z0VkV2hnQjV3EhxDTGY1aThiZmstRUNGZE0wS2dvZHR2QUM2ZzQx","timestampUsec":"1553190726704353","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCPzMMnppM2-siMgZVHCNzYg","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:32"}}},"clientId":"CLf5i8bfk-ECFdM0KgodtvAC6g41"}}],"videoOffsetTimeMsec":"8432499"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"別ルートないのかな"}]},"authorName":{"simpleText":"いせのん"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-qmyzX8WMf2k/AAAAAAAAAAI/AAAAAAAAAAA/m2dxABgLTcI/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-qmyzX8WMf2k/AAAAAAAAAAI/AAAAAAAAAAA/m2dxABgLTcI/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDB5YkhKaVVHMXJMVVZEUmxsbFNYZG5SV1F5UzBGTGIyY1NIVU5LY2xkcWRIcEhheTFGUTBaYWQyOUxaMjlrVVRWRlNVeDNNVGN6RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRMnRVTjFGdE9FRldRM2s0WDBKNFZ6ZHNSbkJhZEZFJTNE"}},"id":"CjsKGkNNMmxyYlBtay1FQ0ZZZUl3Z0VkMktBS29nEh1DSnJXanR6R2stRUNGWndvS2dvZFE1RUlMdzE3Mw%3D%3D","timestampUsec":"1553190741562061","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCkT7Qm8AVCy8_BxW7lFpZtQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:47"}}},"clientId":"CJrWjtzGk-ECFZwoKgodQ5EILw173"}}],"videoOffsetTimeMsec":"8447351"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"わりっこのプロになろう"}]},"authorName":{"simpleText":"ミド"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-78AbJ9KJzqE/AAAAAAAAAAI/AAAAAAAAAAA/UKHTSTbONlM/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-78AbJ9KJzqE/AAAAAAAAAAI/AAAAAAAAAAA/UKHTSTbONlM/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2pzS09Rb2FRMDh5VGpOaVVHMXJMVVZEUmxKTFkyZG5iMlIwVmtsSFNtY1NHME5MZWtjMGMyNUxheTFGUTBaVk5HWlhRVzlrUW1wQlFWUkJNeEFBR2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUJLQUV5R2dvWVZVTkZRWFZETmxkTmRtbHBTalJRZVdJM1VGWlVlSGgz"}},"id":"CjkKGkNPMk4zYlBtay1FQ0ZSS2NnZ29kdFZJR0pnEhtDS3pHNHNuS2stRUNGVTRmV0FvZEJqQUFUQTM%3D","timestampUsec":"1553190742345453","authorExternalChannelId":"UCEAuC6WMviiJ4Pyb7PVTxxw","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:48"}}},"clientId":"CKzG4snKk-ECFU4fWAodBjAATA3"}}],"videoOffsetTimeMsec":"8448134"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"わぬぅ"}]},"authorName":{"simpleText":"ほろん#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-gwG_G4T1p4Q/AAAAAAAAAAI/AAAAAAAAAAA/lfvw4_aY1cY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-gwG_G4T1p4Q/AAAAAAAAAAI/AAAAAAAAAAA/lfvw4_aY1cY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMHBMZVhoTVZHMXJMVVZEUmxKdExXZG5iMlJXV1RSR1ZsRVNIVU5NZW00M1lUTlVheTFGUTBaUlkyeFpRVzlrVjBwalJWOW5NVGt5RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM3BqZVhneU5ubFBWalpSYm5aTU9XNUtOVlF3T0djJTNE"}},"id":"CjsKGkNKS3l4TFRtay1FQ0ZSbS1nZ29kVlk0RlZREh1DTHpuN2EzVGstRUNGUWNsWUFvZFdKY0VfZzE5Mg%3D%3D","timestampUsec":"1553190744037650","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCzcyx26yOV6QnvL9nJ5T08g","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:49"}}},"clientId":"CLzn7a3Tk-ECFQclYAodWJcE_g192"}}],"videoOffsetTimeMsec":"8449755"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"灰ってなんだっけ"}]},"authorName":{"simpleText":"とく#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-REKY_sZPtzc/AAAAAAAAAAI/AAAAAAAAAAA/XjSAJrwOfDg/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-REKY_sZPtzc/AAAAAAAAAAI/AAAAAAAAAAA/XjSAJrwOfDg/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDAyVFhSaVdHMXJMVVZEUmxrMmNFUlJiMlJWVHpCT1JIY1NIVU5OWms1NVQxOVZheTFGUTBaU2JucFhRVzlrTmpaVlFVaFJNVFV3RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRMnRPZEhKTVRWVnZPVGh1Y1VWNVVHeDBOV2RoTm5jJTNE"}},"id":"CjsKGkNNNk10Ylhtay1FQ0ZZNnBEUW9kVU8wTkR3Eh1DTWZOeU9fVWstRUNGUm56V0FvZDY2VUFIUTE1MA%3D%3D","timestampUsec":"1553190745884238","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCkNtrLMUo98nqEyPlt5ga6w","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:51"}}},"clientId":"CMfNyO_Uk-ECFRnzWAod66UAHQ150"}}],"videoOffsetTimeMsec":"8451601"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"居ませんよ!"}]},"authorName":{"simpleText":"ろー."},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-8F75kSAlUxQ/AAAAAAAAAAI/AAAAAAAAAAA/nmLerFJqy5c/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-8F75kSAlUxQ/AAAAAAAAAAI/AAAAAAAAAAA/nmLerFJqy5c/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMUEyZW5wTVltMXJMVVZEUmxGTGFXZG5iMlJyTVRSQlQyY1NIVU5OZVZOellYSlVheTFGUTBaWlVtTkxaMjlrUWtoWlFqQkJNVFU0RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM2R6UlROSU4xb3paV0V3Y0drdFFsZHRZblowYzBFJTNE"}},"id":"CjsKGkNQNnp6TGJtay1FQ0ZRS2lnZ29kazE0QU9nEh1DTXlTc2FyVGstRUNGWVJjS2dvZEJIWUIwQTE1OA%3D%3D","timestampUsec":"1553190748363262","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCwsE3H7Z3ea0pi-BWmbvtsA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:54"}}},"clientId":"CMySsarTk-ECFYRcKgodBHYB0A158"}}],"videoOffsetTimeMsec":"8454138"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"ふぬぅ"}]},"authorName":{"simpleText":"タチバナタスク"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-t1ruNb77ovA/AAAAAAAAAAI/AAAAAAAAAAA/UVH98bTdBKY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-t1ruNb77ovA/AAAAAAAAAAI/AAAAAAAAAAA/UVH98bTdBKY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2tjS1JRb2FRMGt0UjJ4eWFtMXJMVVZEUmxwUFMyZG5iMlI2ZDBsTllrRVNKME5PZFdaNFRtcGFheTFGUTBaak9FbExaMjlrTWpaRlJsaEJNVFUxTXpFNU1EYzBPREEwTkJBQUdqZ2FEUW9MVFdjMk0zUnhaamxCVlZrcUp3b1lWVU0yYjBSNWN6RkNSMmRDYzBsRE0xZG9SekZDYjNaUkVndE5aell6ZEhGbU9VRlZXU0FCS0FFeUdnb1lWVU56YlZsUVpFNVFjREJ1Y1hKRlRFSm1XRU4xZVdoUg=="}},"id":"CkUKGkNJLUdscmptay1FQ0ZaT0tnZ29kendJTWJBEidDTnVmeE5qWmstRUNGYzhJS2dvZDI2RUZYQTE1NTMxOTA3NDgwNDQ%3D","timestampUsec":"1553190751666959","authorExternalChannelId":"UCsmYPdNPp0nqrELBfXCuyhQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:57"}}},"clientId":"CNufxNjZk-ECFc8IKgod26EFXA1553190748044"}}],"videoOffsetTimeMsec":"8457438"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"手裏剣とか"}]},"authorName":{"simpleText":"蒼ナギ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-ZVI0jhyciK8/AAAAAAAAAAI/AAAAAAAAAAA/VcQa72FGfZA/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-ZVI0jhyciK8/AAAAAAAAAAI/AAAAAAAAAAA/VcQa72FGfZA/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMDlJVFcxTWFtMXJMVVZEUmxsWFVHZG5iMlJoTWxGQ09FRVNIRU5MZVRkM2NIRmZheTFGUTBaVlJVNUxaMjlrU1hwdlFuSm5OREVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRhRTVhU0RFeU1rUnNSWFJXTjJKWlFuRTJiSFJWUVElM0QlM0Q="}},"id":"CjoKGkNPSE1tTGptay1FQ0ZZV1BnZ29kYTJRQjhBEhxDS3k3d3BxX2stRUNGVUVOS2dvZEl6b0JyZzQx","timestampUsec":"1553190751708769","authorExternalChannelId":"UChNZH122DlEtV7bYBq6ltUA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:57"}}},"clientId":"CKy7wpq_k-ECFUENKgodIzoBrg41"}}],"videoOffsetTimeMsec":"8457480"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"陶片使ったけど対して効果ない"},{"text":"…"}]},"authorName":{"simpleText":"いけるしかばねたかし"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-mGMG9btapfM/AAAAAAAAAAI/AAAAAAAAAAA/Dj6SVP_gng4/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-mGMG9btapfM/AAAAAAAAAAI/AAAAAAAAAAA/Dj6SVP_gng4/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMGszVm1sTWJtMXJMVVZEUmxSbFFuZG5SV1JXY1RoTk0zY1NIRU5QWlZKNldUZHRheTFGUTBaWk1HZExaMjlrYUZRMFFUVkJMVEFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRNelpOVkRSa1VFUnBOMVV5Vkc5SmEyNVBiRlZUWnclM0QlM0Q="}},"id":"CjoKGkNJN1ZpTG5tay1FQ0ZUZUJ3Z0VkVnE4TTN3EhxDT2VSelk3bWstRUNGWTBnS2dvZGhUNEE1QS0w","timestampUsec":"1553190753544846","authorExternalChannelId":"UC36MT4dPDi7U2ToIknOlUSg","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:20:59"}}},"clientId":"COeRzY7mk-ECFY0gKgodhT4A5A-0"}}],"videoOffsetTimeMsec":"8459316"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"気づかれてなかった"}]},"authorName":{"simpleText":"チョコミントカレー"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-vxa4HtthSOM/AAAAAAAAAAI/AAAAAAAAAAA/CnPyLKYmKd4/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-vxa4HtthSOM/AAAAAAAAAAI/AAAAAAAAAAA/CnPyLKYmKd4/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMUJEV25oeWJtMXJMVVZEUm1JMlJYZG5SV1JRU25kTVkwRVNIVU5KTFRONlMycFVheTFGUTBaVmVITkxaMjlrWWtwVlNHNUJNakF6RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRekJWY21wVFVWRTRNVUpEZVZoNGR6bGZRbWRvU2xFJTNE"}},"id":"CjsKGkNQQ1p4cm5tay1FQ0ZiNkV3Z0VkUEp3TGNBEh1DSS0zektqVGstRUNGVXhzS2dvZGJKVUhuQTIwMw%3D%3D","timestampUsec":"1553190754553072","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UC0UrjSQQ81BCyXxw9_BghJQ","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:00"}}},"clientId":"CI-3zKjTk-ECFUxsKgodbJUHnA203"}}],"videoOffsetTimeMsec":"8460332"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"ばあちゃんの声きこえすぎ"}]},"authorName":{"simpleText":"ほろん#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-gwG_G4T1p4Q/AAAAAAAAAAI/AAAAAAAAAAA/lfvw4_aY1cY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-gwG_G4T1p4Q/AAAAAAAAAAI/AAAAAAAAAAA/lfvw4_aY1cY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMHBFY1ROTWJtMXJMVVZEUmxFMk4wUlJiMlJJYVRoUVlVRVNIVU5NZW00M1lUTlVheTFGUTBaUlkyeFpRVzlrVjBwalJWOW5NVGt6RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM3BqZVhneU5ubFBWalpSYm5aTU9XNUtOVlF3T0djJTNE"}},"id":"CjsKGkNKRHEzTG5tay1FQ0ZRNjdEUW9kSGk4UGFBEh1DTHpuN2EzVGstRUNGUWNsWUFvZFdKY0VfZzE5Mw%3D%3D","timestampUsec":"1553190754923792","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCzcyx26yOV6QnvL9nJ5T08g","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:00"}}},"clientId":"CLzn7a3Tk-ECFQclYAodWJcE_g193"}}],"videoOffsetTimeMsec":"8460703"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"これは攻略法いっても言いやつ?"}]},"authorName":{"simpleText":"スイシン"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-OjWqF2jXXOE/AAAAAAAAAAI/AAAAAAAAAAA/9T98gUeWrz0/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-OjWqF2jXXOE/AAAAAAAAAAI/AAAAAAAAAAA/9T98gUeWrz0/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2pzS09Rb2FRMHBpWXkxaWJtMXJMVVZEUmxaaE9XZG5iMlIxZFUxRmFWRVNHME5NVUhGNU9IcEdheTFGUTBaVkxVaFhRVzlrUTBZd1RGaDNNUkFBR2pnYURRb0xUV2MyTTNSeFpqbEJWVmtxSndvWVZVTTJiMFI1Y3pGQ1IyZENjMGxETTFkb1J6RkNiM1pSRWd0Tlp6WXpkSEZtT1VGVldTQUJLQUV5R2dvWVZVTkhXR3A0VWtkaGEydHdRMUJOTVhSRGMzTllhalZS"}},"id":"CjkKGkNKYmMtYm5tay1FQ0ZWYTlnZ29kdXVNRWlREhtDTFBxeTh6RmstRUNGVS1IV0FvZENGMExYdzE%3D","timestampUsec":"1553190755397142","authorExternalChannelId":"UCGXjxRGakkpCPM1tCssXj5Q","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:01"}}},"clientId":"CLPqy8zFk-ECFU-HWAodCF0LXw1"}}],"videoOffsetTimeMsec":"8461176"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"灰を投げるとか?"}]},"authorName":{"simpleText":"まんぼうどーふ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-jdB-YLgpFeI/AAAAAAAAAAI/AAAAAAAAAAA/ef7CZPjPmcI/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-jdB-YLgpFeI/AAAAAAAAAAI/AAAAAAAAAAA/ef7CZPjPmcI/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2tjS1JRb2FRMDFEY2pBM2NtMXJMVVZEUmxWSFJYZG5SV1JXZVRoSlVsRVNKME5OVkZacE9HNXBheTFGUTBaUmMzQkxaMjlrUWxBMFFuRjNNVFUxTXpFNU1EYzJNRGcwT0JBQUdqZ2FEUW9MVFdjMk0zUnhaamxCVlZrcUp3b1lWVU0yYjBSNWN6RkNSMmRDYzBsRE0xZG9SekZDYjNaUkVndE5aell6ZEhGbU9VRlZXU0FCS0FFeUdnb1lWVU00VjNWQmVrMU9jVU53ZFVreldrUnZjMnhHTnpOMw=="}},"id":"CkUKGkNNQ3IwN3Jtay1FQ0ZVR0V3Z0VkVnk4SVJREidDTVRWaThuaWstRUNGUXNwS2dvZEJQNEJxdzE1NTMxOTA3NjA4NDg%3D","timestampUsec":"1553190756865472","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UC8WuAzMNqCpuI3ZDoslF73w","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:02"}}},"clientId":"CMTVi8nik-ECFQspKgodBP4Bqw1553190760848"}}],"videoOffsetTimeMsec":"8462597"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"門の手前で鉤縄"}]},"authorName":{"simpleText":"鶫カズヤ"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-h5MH37hFuSg/AAAAAAAAAAI/AAAAAAAAAAA/N8XHDrDACvE/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-h5MH37hFuSg/AAAAAAAAAAI/AAAAAAAAAAA/N8XHDrDACvE/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMGx1WVdvM1gyMXJMVVZEUm1ObFJIZG5SV1IwWjNkSmJFRVNIRU5QU3poclpFaHNheTFGUTBaYU1UUkxaMjlrUlRsWlNXWm5MVEFRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRkVzFYVUdKbWMybG1iRlZITlVOU1RtZHZNMXBUZHclM0QlM0Q="}},"id":"CjoKGkNJbmFqN19tay1FQ0ZjZUR3Z0VkdGd3SWxBEhxDT0s4a2RIbGstRUNGWjE0S2dvZEU5WUlmZy0w","timestampUsec":"1553190766243081","authorExternalChannelId":"UCumWPbfsiflUG5CRNgo3ZSw","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:11"}}},"clientId":"COK8kdHlk-ECFZ14KgodE9YIfg-0"}}],"videoOffsetTimeMsec":"8471948"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"壁上の路線でいけるよ"}]},"authorName":{"simpleText":"ダン"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-brqT5B4VuPM/AAAAAAAAAAI/AAAAAAAAAAA/b_Rka3uRowY/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-brqT5B4VuPM/AAAAAAAAAAI/AAAAAAAAAAA/b_Rka3uRowY/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMUJmWVdzM1gyMXJMVVZEUmxKa1ZqZFJiMlJsTlZWT2JrRVNIVU5QVjJ3MFVGOW1heTFGUTBaUlpFVlhRVzlrVGpjd1NUVm5MVEl5RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRMDVLWDFKcGVrZFNSbXROYTNkVU16Y3RXVGhST1djJTNE"}},"id":"CjsKGkNQX2FrN19tay1FQ0ZSZFY3UW9kZTVVTm5BEh1DT1dsNFBfZmstRUNGUWRFV0FvZE43MEk1Zy0yMg%3D%3D","timestampUsec":"1553190766308735","authorExternalChannelId":"UCNJ_RizGRFkMkwT37-Y8Q9g","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:12"}}},"clientId":"COWl4P_fk-ECFQdEWAodN70I5g-22"}}],"videoOffsetTimeMsec":"8472014"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"大砲門の向かって左側に道がある?"}]},"authorName":{"simpleText":"brokun japanese"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-mzG3fIRL4QQ/AAAAAAAAAAI/AAAAAAAAAAA/9Zzs6AVay9Y/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-mzG3fIRL4QQ/AAAAAAAAAAI/AAAAAAAAAAA/9Zzs6AVay9Y/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMHBsVG0wM1gyMXJMVVZEUmxKUE9HZG5iMlF0YW5kRVlXY1NIRU5RZVZKdVRVUkJheTFGUTBaV1pGWlpRVzlrWTJzMFVETjNOREVRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRNVFZsWDNsbFdWTmFUMGxxVTJGRmEwOHdUR0kzUVElM0QlM0Q="}},"id":"CjoKGkNKZU5tN19tay1FQ0ZSTzhnZ29kLWp3RGFnEhxDUHlSbk1EQWstRUNGVmRWWUFvZGNrNFAzdzQx","timestampUsec":"1553190766429847","authorExternalChannelId":"UC15e_yeYSZOIjSaEkO0Lb7A","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:12"}}},"clientId":"CPyRnMDAk-ECFVdVYAodck4P3w41"}}],"videoOffsetTimeMsec":"8472135"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"大砲が気づくの早いなー"}]},"authorName":{"simpleText":"ろー."},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-8F75kSAlUxQ/AAAAAAAAAAI/AAAAAAAAAAA/nmLerFJqy5c/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-8F75kSAlUxQ/AAAAAAAAAAI/AAAAAAAAAAA/nmLerFJqy5c/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMDVpYTJ0alJHMXJMVVZEUm1SRE5XZG5iMlEzWTBGUGFWRVNIVU5OZVZOellYSlVheTFGUTBaWlVtTkxaMjlrUWtoWlFqQkJNVFU1RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRM2R6UlROSU4xb3paV0V3Y0drdFFsZHRZblowYzBFJTNE"}},"id":"CjsKGkNOYmtrY0Rtay1FQ0ZkQzVnZ29kN2NBT2lREh1DTXlTc2FyVGstRUNGWVJjS2dvZEJIWUIwQTE1OQ%3D%3D","timestampUsec":"1553190768374358","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCwsE3H7Z3ea0pi-BWmbvtsA","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:14"}}},"clientId":"CMySsarTk-ECFYRcKgodBHYB0A159"}}],"videoOffsetTimeMsec":"8474047"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"謎大砲"}]},"authorName":{"simpleText":"からいみん #凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-R1f4UvD6DBk/AAAAAAAAAAI/AAAAAAAAAAA/31aFHuP081I/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-R1f4UvD6DBk/AAAAAAAAAAI/AAAAAAAAAAA/31aFHuP081I/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2p3S09nb2FRMUIyVkRselJHMXJMVVZEUmxwbFNXZG5iMlJMZWtGT1ZHY1NIRU5PYW05eWRXNW9heTFGUTBaUldtcFpRVzlrVDJWTlVFUlJNVElRQUJvNEdnMEtDMDFuTmpOMGNXWTVRVlZaS2ljS0dGVkRObTlFZVhNeFFrZG5Rbk5KUXpOWGFFY3hRbTkyVVJJTFRXYzJNM1J4WmpsQlZWa2dBU2dCTWhvS0dGVkRVak5UYXpKRlptdzFObk52UVhOUE5qWXhlVmhEWnclM0QlM0Q="}},"id":"CjoKGkNQdlQ5c0Rtay1FQ0ZaZUlnZ29kS3pBTlRnEhxDTmpvcnVuaGstRUNGUVpqWUFvZE9lTVBEUTEy","timestampUsec":"1553190770027003","authorExternalChannelId":"UCR3Sk2Efl56soAsO661yXCg","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:15"}}},"clientId":"CNjorunhk-ECFQZjYAodOeMPDQ12"}}],"videoOffsetTimeMsec":"8475700"}},{"replayChatItemAction":{"actions":[{"addChatItemAction":{"item":{"liveChatTextMessageRenderer":{"message":{"runs":[{"text":"もう撃ってきよった"}]},"authorName":{"simpleText":"とく#凛fam"},"authorPhoto":{"thumbnails":[{"url":"https://yt3.ggpht.com/-REKY_sZPtzc/AAAAAAAAAAI/AAAAAAAAAAA/XjSAJrwOfDg/s32-c-k-no-mo-rj-c0xffffff/photo.jpg","width":32,"height":32},{"url":"https://yt3.ggpht.com/-REKY_sZPtzc/AAAAAAAAAAI/AAAAAAAAAAA/XjSAJrwOfDg/s64-c-k-no-mo-rj-c0xffffff/photo.jpg","width":64,"height":64}]},"contextMenuEndpoint":{"commandMetadata":{"webCommandMetadata":{"ignoreNavigation":true}},"liveChatItemContextMenuEndpoint":{"params":"Q2owS093b2FRMHR1VlY5elZHMXJMVVZEUmxOUE4yZG5iMlJ6YzBWS2FrRVNIVU5OWms1NVQxOVZheTFGUTBaU2JucFhRVzlrTmpaVlFVaFJNVFV4RUFBYU9Cb05DZ3ROWnpZemRIRm1PVUZWV1NvbkNoaFZRelp2Ukhsek1VSkhaMEp6U1VNelYyaEhNVUp2ZGxFU0MwMW5Oak4wY1dZNVFWVlpJQUVvQVRJYUNoaFZRMnRPZEhKTVRWVnZPVGh1Y1VWNVVHeDBOV2RoTm5jJTNE"}},"id":"CjsKGkNLblVfc1Rtay1FQ0ZTTzdnZ29kc3NFSmpBEh1DTWZOeU9fVWstRUNGUm56V0FvZDY2VUFIUTE1MQ%3D%3D","timestampUsec":"1553190778546729","authorBadges":[{"liveChatAuthorBadgeRenderer":{"customThumbnail":{"thumbnails":[{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s16-c-k"},{"url":"https://yt3.ggpht.com/SlClpfEcyU7u1z00zAJSToBFLj5uYNd00kkpOyko2u6xMx5n4VvmiYYTT0UiltQqbfEsohkB2A=s32-c-k"}]},"tooltip":"メンバー(7 か月)","accessibility":{"accessibilityData":{"label":"メンバー(7 か月)"}}}}],"authorExternalChannelId":"UCkNtrLMUo98nqEyPlt5ga6w","contextMenuAccessibility":{"accessibilityData":{"label":"コメントの操作"}},"timestampText":{"simpleText":"2:21:24"}}},"clientId":"CMfNyO_Uk-ECFRnzWAod66UAHQ151"}}],"videoOffsetTimeMsec":"8484265"}}]}}}} \ No newline at end of file diff --git a/pytchat/config/__init__.py b/pytchat/config/__init__.py index a36d2b0..fe4b55f 100644 --- a/pytchat/config/__init__.py +++ b/pytchat/config/__init__.py @@ -4,7 +4,7 @@ from . import mylogger headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'} -def logger(module_name: str, loglevel = None): +def logger(module_name: str, loglevel = logging.DEBUG): module_logger = mylogger.get_logger(module_name, loglevel = loglevel) return module_logger diff --git a/pytchat/downloader/dictquery.py b/pytchat/downloader/dictquery.py index 9e7068c..ae44d6b 100644 --- a/pytchat/downloader/dictquery.py +++ b/pytchat/downloader/dictquery.py @@ -41,3 +41,8 @@ def getid_realtime(item): def get_timestamp_realtime(item): return list((list(item.values())[0])['item'].values())[0]['timestampUsec'] + + +def get_offsettime(item): + #return item['replayChatItemAction']["actions"][0]["videoOffsetTimeMsec"] + return item['replayChatItemAction']["videoOffsetTimeMsec"] \ No newline at end of file diff --git a/pytchat/downloader/downloader.py b/pytchat/downloader/downloader.py index c95300f..b2bb385 100644 --- a/pytchat/downloader/downloader.py +++ b/pytchat/downloader/downloader.py @@ -90,12 +90,14 @@ async def _dl(session,queue, next_url, absolute_start,duration,pbar_pos,is_lastp raise Exception('length_ms < 0') queue.put(length_ms) if first: - #save(pbar_pos,'FIRST',init_offset_ms,last_offset_ms,dics)############################## + #print(dics["response"]["continuationContents"]["liveChatContinuation"]["actions"][0]) + #with open(str(pbar_pos)+'FIRST') as f: + # f.writelines(dics)############################## if pbar_pos > 0: #print(f'Reset dl_end[{pbar_pos - 1}]:{dl_end[pbar_pos - 1]} -> {init_offset_ms} ({init_offset_ms-dl_end[pbar_pos - 1]})') dl_end[pbar_pos - 1] = init_offset_ms first = False - + #print(dics["response"]["continuationContents"]["liveChatContinuation"]["actions"][0]) chat_data.extend(dics["response"]["continuationContents"]["liveChatContinuation"]["actions"]) #print(chat_data) if (last_offset_ms >= dl_end[pbar_pos]) and not(is_lastpiece): @@ -241,7 +243,7 @@ def _combine(chatblocks): dic_lastline=lastline lastline_id = dictquery.getid_replay(dic_lastline) #print(f'[{i}]lastline_id:{lastline_id}') - + print(f"length:{len(chatblocks[0])}") return chatblocks[0] except Exception as e: logger.error(f"{type(e)} {str(e)} {line}") @@ -283,5 +285,6 @@ def download(movie_id, duration, divisions): #プログレスバーのプロセスを終了させるためQueueにNoneを送る queue.put(None) #分割DLされたチャットデータを結合して返す + return _combine(chatlist) \ No newline at end of file diff --git a/pytchat/downloader/downloader_test.py b/pytchat/downloader/downloader_test.py new file mode 100644 index 0000000..67ae41e --- /dev/null +++ b/pytchat/downloader/downloader_test.py @@ -0,0 +1,304 @@ +import asyncio +import aiohttp,async_timeout +import json +from tqdm import tqdm +import traceback,time +from requests.exceptions import ConnectionError +from urllib.parse import quote +from multiprocessing import Process, Queue + +from . import dictquery +from .. import config +from .. paramgen import arcparam + + + + +logger = config.logger(__name__) + +REPLAY_URL = "https://www.youtube.com/live_chat_replay/" \ + "get_live_chat_replay?continuation=" + +async def _dl_piece(_session,queue,movie_id,offset_ms,duration_ms,pbar_pos,is_lastpiece,dl_end): + #print(f'_dl_piece:{movie_id},{offset_ms},{duration_ms},{pbar_pos},{is_lastpiece}') + + chat_data=[] + if pbar_pos == 0: + #continue_url = construct.encoder.encode(construct.construct_seekinit(movie_id,filter='all')) + continuation = arcparam.getparam(movie_id,-1) + else: + continuation = arcparam.getparam(movie_id,offset_ms/1000) + next_url = f"{REPLAY_URL}{quote(continuation)}&pbj=1" + + #print(pbar_pos,next_url) + chat_data = await _dl(session=_session, + queue = queue, + next_url =next_url, + absolute_start = offset_ms, + duration = duration_ms, + pbar_pos = pbar_pos, + is_lastpiece = is_lastpiece, + dl_end = dl_end) + return chat_data + +def get_init_offset_ms(dics: dict): + n = 0 + while(True): + init_offset_ms = dics["response"]["continuationContents"]["liveChatContinuation"]["actions"][n].get("replayChatItemAction")['videoOffsetTimeMsec'] + + if init_offset_ms is None: + n += 1 + continue + else: + + return int(init_offset_ms) + +def get_last_offset_ms(dics: dict): + m = -1 + while(True): + last_offset_ms = dics["response"]["continuationContents"]["liveChatContinuation"]["actions"][m].get("replayChatItemAction")['videoOffsetTimeMsec'] + if last_offset_ms is None: + m -= 1 + continue + else: + return int(last_offset_ms) + + +async def _dl(session,queue, next_url, absolute_start,duration,pbar_pos,is_lastpiece,dl_end): + async with async_timeout.timeout(1000): + chat_data = [] + print('absolute',absolute_start,'duration',duration,'pos',pbar_pos) + dlerror=False + first = True + rqerr=0 + jserr=0 + while(True): + + try: + #json形式のchatデータのダウンロードと読み込み + async with session.get(next_url,headers=config.headers) as response: + text = await response.text() + dics = json.loads(text) + + continuation = dics["response"]["continuationContents"]["liveChatContinuation"]["continuations"][0]["liveChatReplayContinuationData"]["continuation"] + #次のlive_chat_replayのurl + next_url =f"{REPLAY_URL}{continuation}&pbj=1" + + init_offset_ms = get_init_offset_ms(dics) + + last_offset_ms = get_last_offset_ms(dics) + + length_ms = last_offset_ms - init_offset_ms + #print(f'[{pbar_pos}] length_ms = {length_ms}, total={last_offset_ms}') + if length_ms < 0: + raise Exception('length_ms < 0') + queue.put(length_ms) + if first: + print(f"[{pbar_pos}]Init_offset:",init_offset_ms) + #save(pbar_pos,'FIRST',init_offset_ms,last_offset_ms,dics)############################## + if pbar_pos > 0: + #print(f'Reset dl_end[{pbar_pos - 1}]:{dl_end[pbar_pos - 1]} -> {init_offset_ms} ({init_offset_ms-dl_end[pbar_pos - 1]})') + dl_end[pbar_pos - 1] = init_offset_ms + first = False + + chat_data.extend(dics["response"]["continuationContents"]["liveChatContinuation"]["actions"]) + #print(chat_data) + if (last_offset_ms >= dl_end[pbar_pos]) and not(is_lastpiece): + #save(pbar_pos,'LAST ',init_offset_ms,last_offset_ms,dics)############################### + #print(f'break:pbar_pos ={pbar_pos}') + print(f"[{pbar_pos}]last_offset",last_offset_ms) + queue.put('quit') + break + + # next_urlが入手できなくなったら終わり + except KeyError: + queue.put('quit') + break + # JSONDecodeErrorが発生した場合はデータを取得しなおす。 + except json.decoder.JSONDecodeError: + time.sleep(1) + jserr+=1 + if jserr<20: + continue + else: + logger.error('JSONDecodeError at piece %d' % (pbar_pos)) + queue.put(quit) + dlerror = True + break + except ConnectionError: + time.sleep(1) + rqerr+=1 + if rqerr<20: + continue + else: + logger.error('ConnectionError at piece %d' % (pbar_pos)) + queue.put(quit) + dlerror = True + break + #except KeyboardInterrupt: + # pass + except UnicodeDecodeError as e: + logger.error(f"{type(e)}, {str(e)}") + logger.error(f"{str(e.object)}") + with open('unicodeerror.txt', mode ="w", encoding='utf-8') as f: + f.writelines(str(e.object)) + break + except: + logger.error('\n不明なエラーが発生しました%d at:' % (pbar_pos)) + logger.error('%s\n' % (next_url)) + traceback.print_exc() + try: + with open('error.json', mode ="w", encoding='utf-8') as f: + f.writelines(text) + except UnboundLocalError as ule: + pass + queue.put('quit') + dlerror = True + break + #session.close() + if dlerror: + return 'error' + else: + return chat_data + + +def _debug_save(_pbar_pos,prefix,init_offset_ms,last_offset_ms,dics): + ''' + 例外が発生したときのチャットデータを保存する。 + ''' + chat_data =[] + init = '{:0>8}'.format(str(init_offset_ms)) + last = '{:0>8}'.format(str(last_offset_ms)) + chat_data.extend(dics["response"]["continuationContents"]["liveChatContinuation"]["actions"]) + + with open(f"[{_pbar_pos}]-{prefix}-from_{init}_to_{last}.data",mode ='w',encoding='utf-8') as f: + f.writelines(chat_data) + +def _debug_chatblock(): + pass + + +async def _asyncdl(argslist): + promises=[] + async with aiohttp.ClientSession() as session: + promises = [_dl_piece(session,*args) for args in argslist] + return await asyncio.gather(*promises) + +def _listener(q,duration,div): + duration_ms =int(duration/1000) + ret = int(div) + pbar = tqdm(total = duration_ms, ncols=80,unit_scale = 1, + bar_format='{desc}{percentage:3.0f}%|{bar}|[{n_fmt:>7}/{total_fmt}]{elapsed}<{remaining}') + #Noneを見つけるまでgetし続ける。 + + for item in iter(q.get, None): + if(item=='quit'): + ret=ret-1 + if(ret==0): + if duration_ms>0: + pbar.update(duration_ms) + pbar.close() + else: + item =int(item/1000) + if duration_ms - item >= 0 and item >= 0: + duration_ms -= item + pbar.update(item) + + +def _combine(chatblocks): + ''' + 分割DLしたチャットデータを結合する + 1番目の固まり(chatblocks[0])に順次結合していく。 + ''' + line='' + try: + if len(chatblocks[0])>0: + lastline=chatblocks[0][-1] + #lastline_id = dictquery.getid_replay(json.loads(lastline)) + lastline_offsettime = dictquery.get_offsettime(lastline) + print('lastline_offsettime',lastline_offsettime) + else: return None + for i in range(1,len(chatblocks)): + f=chatblocks[i] + if len(f)==0: + logger.error(f'zero size piece.:{str(i)}') + continue + #チャットデータの行を最初から走査して直前のデータの末尾との共通行を探す + for row in range(len(f)): + #row行目のデータ + line = f[row] + #末尾が直前のデータの末尾行と等しい(ダウンロードタイミングが異なると + #trackingParamsが一致しないためidで判定) + #if dictquery.getid_replay(json.loads(line)) == lastline_id: + if dictquery.get_offsettime(line) > lastline_offsettime: + #共通行が見つかったので、共通行以降を結合する + print(f'[{i}][{row}]Find common line {lastline_offsettime}') + chatblocks[0].extend(f[row:]) + break + if line =='error': + logger.error(f'Error file was saved.: piece:{str(i)}') + return['error'] + else:#forの途中でbreakが発生しなかった場合ここに飛ぶ + #ファイルの結合点(共通ライン)の発見に失敗 + logger.error(f'Missing common line.: piece:{str(i-1)}->{str(i)} lastline_id= {lastline_offsettime}') + return ['combination failed']#---------------------------------test + #最終行のデータを更新する + lastline = f[-1] + #dic_lastline=json.loads(lastline) + dic_lastline=lastline + lastline_offsettime = dictquery.get_offsettime(dic_lastline) + #print(f'[{i}]lastline_id:{lastline_id}') + print(f"length:{len(chatblocks[0])}") + return chatblocks[0] + except Exception as e: + logger.error(f"{type(e)} {str(e)} {line}") + traceback.print_exc() + # p= json.loads(line) + # with open('v:/~~/error_dic.json',mode ='w',encoding='utf-8') as f: + # f.write(line) + + +def download(movie_id, duration, divisions): + #動画の長さ(ミリ秒) + duration_ms=duration*1000 + #分割DL数 + div = divisions + #プログレスバー用のQueue + queue= Queue() + #プログレスバー用のプロセス + proc = Process(target=_listener,args=(queue,duration_ms,div)) + proc.start() + #チャットデータの分割間隔(ミリ秒) + term_ms = int(duration_ms / div) + #チャットデータの取得開始時間 + start_ms = 0 + #分割したピースが最後かどうか + is_lastpiece = False + argslist=[] + dl_end=[] + #分割DL用の引数を用意 + for i in range(0,div): + if i==div-1: + is_lastpiece =True + args = (queue, movie_id, start_ms, term_ms, i, is_lastpiece,dl_end) + argslist.append(args) + start_ms+=term_ms + dl_end.append(start_ms) + + loop = asyncio.get_event_loop() + chatlist =loop.run_until_complete(_asyncdl(argslist)) + #プログレスバーのプロセスを終了させるためQueueにNoneを送る + queue.put(None) + #分割DLされたチャットデータを結合して返す + return _combine(chatlist) + +def check(): + #先頭のブロックから、offsettimeを調べる + #offsettimeが等しい場合はIDを調べ、IDも一致していたら、 + #比較元以下を連結対象から外す + for i in range(0,len(blocks)-1): + if (offset(i)==offset(i+1)): + if(id(i)==id(i+1)): + discard(i+1) + + \ No newline at end of file