File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 7373 var channelName = "" ;
7474 var messageHistory = [ ] ;
7575
76+ var lastMg = { } ;
77+ var mxchat = 0 ;
78+
7679 function processMessage ( ele ) {
7780 //console.log(ele);
7881 if ( ! ele || ! ele . isConnected ) { return ; }
9295
9396 var id = false
9497 if ( ele . dataset ) {
95- id = ele . dataset ?. index ;
98+ id = ele . dataset ?. index ;
9699 }
97100
98101 if ( id !== false ) {
108111
109112 var chatimg = ""
110113 try {
111- name = escapeHtml ( ele . querySelector ( "picture img[src]" ) . src ) ;
114+ chatimg = escapeHtml ( ele . querySelector ( "picture img[src]" ) . src ) ;
112115 } catch ( e ) {
113116 //console.error(e);
114117 }
115- var name = "" ;
116- try {
117- name = escapeHtml ( ele . querySelector ( "strong" ) . textContent ) ;
118- } catch ( e ) {
119- //console.error(e);
120- }
121-
122- var namecolor = "" ;
123118
124- var badges = [ ] ;
125119 var msg = "" ;
126120 try {
127121 msg = getAllContentNodes ( ele . querySelector ( '[data-tag="chat-message-text-content"]' ) ) . trim ( )
131125 }
132126
133127
128+ var name = "" ;
129+
130+ while ( ! name && ele ) {
131+ try {
132+ name = escapeHtml ( ele . querySelector ( "strong" ) . textContent ) ;
133+ } catch ( e ) {
134+ //console.error(e);
135+ }
136+ if ( name ) { break ; }
137+ if ( ! ele . previousSibling ) { break ; }
138+ ele = ele . previousSibling ;
139+ }
140+
141+
142+
143+ var badges = [ ] ;
144+
134145 var contentImg = "" ;
135146
147+ try {
148+ contentImg = escapeHtml ( ele . querySelector ( "picture img[src][alt='User posted image']" ) . src ) ;
149+ } catch ( e ) { }
136150
137- if ( ! name || ! msg ) {
138- // console.error("SIP");
151+ if ( ! ( msg || contentImg ) ) {
152+ console . error ( "SIP" ) ;
139153 return ;
140154 }
141155
142156
143157 var data = { } ;
144- data . chatname = name ;
158+ data . chatname = name || lastMg . chatname ;
145159 data . chatbadges = badges ;
146- data . backgroundColor = "" ;
147- data . textColor = "" ;
148- data . nameColor = namecolor ;
149160 data . chatmessage = msg ;
150- data . chatimg = chatimg ;
161+ if ( ! name && lastMg . chatname ) {
162+ data . chatimg = chatimg || lastMg . chatimg ;
163+ } else {
164+ data . chatimg = chatimg ;
165+ }
151166 data . hasDonation = "" ;
152167 data . membership = "" ;
153- data . contentimg = "" ;
168+ data . contentimg = contentImg ;
154169 data . textonly = settings . textonlymode || false ;
155170 data . type = "patreon" ;
156171
172+ lastMg = data ;
173+
174+ if ( id !== false ) {
175+ if ( parseInt ( id ) < mxchat ) {
176+ return ;
177+ } else {
178+ mxchat = parseInt ( id ) ;
179+ }
180+ }
181+
157182
158183 pushMessage ( data ) ;
159184 }
You can’t perform that action at this time.
0 commit comments