I’ve been banging my head about this for a couple of weeks now, really hoping someone can help me find the cause.
I’m using a lovely app called Streamer.Bot to subscribe to events that happen on our Twitch channel (eg. subscriptions, bit donations, etc).
All of these events come in fine EXCEPT for bit donations over 200 bits. Those only come in sporadically, and only up to about 300 bits, sometimes 400 bits. Anything larger, and the Websocket DAT simply ignores it (nothing shows up in the table)
UPDATE: newer version of TD now receives the messages, but they’re truncated to 1016 characters. See further down.
Here’s an example of a message that arrives without problem. It is from a 169 bit donation:
{"timeStamp":"2022-05-24T21:08:05.8983488-07:00","event":{"source":"Twitch","type":"Cheer"},"data":{"message":{"msgId":"21605e47-16d2-4496-8001-509438e1b41c","userId":441952335,"username":"dandidoesit","role":1,"subscriber":true,"displayName":"DandiDoesIt","channel":"dandidoesit","message":"Cheer100 Cheer69","isHighlighted":false,"isMe":false,"isCustomReward":false,"isAnonymous":false,"isReply":false,"bits":169,"hasBits":true,"emotes":[],"cheerEmotes":[{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":0,"endIndex":7,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":69,"color":"#979797","type":"CheerEmote","name":"Cheer","startIndex":9,"endIndex":15,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1/4.gif"}]}}}
Here’s an example of a message that does not arrive to the DAT. It is from a 1000 bit donation:
{"timeStamp":"2022-05-24T21:09:25.420042-07:00","event":{"source":"Twitch","type":"Cheer"},"data":{"message":{"msgId":"21605e47-16d2-4496-8001-509438e1b41c","userId":444739367,"username":"bleachedblond","role":1,"subscriber":true,"displayName":"BLEACHEDblond","channel":"dandidoesit","message":"Cheer100 Cheer100 Cheer100 Cheer100 Cheer100 Cheer100 Cheer100 Cheer100 Cheer100 Cheer100","isHighlighted":false,"isMe":false,"isCustomReward":false,"isAnonymous":false,"isReply":false,"bits":1000,"hasBits":true,"emotes":[],"cheerEmotes":[{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":0,"endIndex":7,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":9,"endIndex":16,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":18,"endIndex":25,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":27,"endIndex":34,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":36,"endIndex":43,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":45,"endIndex":52,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":54,"endIndex":61,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":63,"endIndex":70,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":72,"endIndex":79,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"},{"bits":100,"color":"#9c3ee8","type":"CheerEmote","name":"Cheer","startIndex":81,"endIndex":88,"imageUrl":"https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"}]}}}
The only thing that stands out to me about bigger bit donation messages is that they’re longer. Does the websockets DAT have some kind of length/size limitation? Why does it like the first message but ignores the second one? The reason I know the second message is being sent is that when using a generic js websocket listener in an html page to test, the message shows up fine.
Does anyone have any hints?