-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
error: TypeError: Cannot read properties of undefined (reading 'map')
at parseMessages (youtube-chat\dist\parser.js:89:17)
どうやらparser.js 149行目のparseMessages(message)
関数にundefined
を引数として入れているようでエラーが起きているみたいです。
そのmessageの変数を探していたところ、同プログラム 134 ~ 140行目に記述がありました
let message = [];
if ("message" in messageRenderer) {
message = messageRenderer.message.runs;
}
else if ("headerSubtext" in messageRenderer) {
message = messageRenderer.headerSubtext.runs;
}
のようになっていますが、メンバーマイルストーンのmessageRenderer
はこんなデータを返していました
{
id: 'id',
timestampUsec: '1673550636512193',
authorExternalChannelId: 'channelId',
headerPrimaryText: { runs: [ { text: 'Member for ' }, { text: '14' }, { text: ' months' } ] },
headerSubtext: { simpleText: 'membership tier name' },
empty: true,
// メッセージがある場合、emptyキーは消え代わりにmessageキーがこのように出力されると思われる (#78 より)
// "message": { "runs": [ { "text": "Hi" } ] },
authorName: { simpleText: 'channel name' },
authorPhoto: { thumbnails: [ [Object], [Object] ] },
authorBadges: [
{ liveChatAuthorBadgeRenderer: [Object] },
{ liveChatAuthorBadgeRenderer: [Object] }
],
contextMenuEndpoint: {
clickTrackingParams: 'clickTrackingParams',
commandMetadata: { webCommandMetadata: [Object] },
liveChatItemContextMenuEndpoint: {
params: 'params'
}
},
contextMenuAccessibility: { accessibilityData: { label: 'Chat actions' } },
trackingParams: 'trackingParams'
}
メッセージがない場合 empty: true の表記があると思われますので、その分岐を追加していただけるとありがたいです
Metadata
Metadata
Assignees
Labels
No labels