Hey there,
i am having (huge) issues with delivery of messages since a week or two.
I do not receive ‘notice’ messages when irc messages fail. messages get dropped silently.
i receive ‘msg rate_limit’ when someone has “shared chat” activated and both stream-together users are using my bot. (duplicate message)
i also receive a ‘msg banned’ when the bot is banned from a channel
besides that, no information and i don’t know of a way to troubleshoot silently dropped messages.
as i remember, happened this year for sure, i got rate limit and other notices when sending messages did not work. specifically i got notices that i used up the rate limit and therfore messages did not send. but not anymore unfortunately.
a few of my users granted moderator status to the bot. those channels are not affected.
any advice on how to find out whats going on? really need to get this sorted quickly
And since using IRC you didn’t seek oAuth to be present.
sorry, i don’t know what that means. the streamers go to my webpage and go through the Auth process for my application, registration for the service if you will, with authorizing the twitch application.
then later the bot uses their twitch names to deliver messages to them. i create a tmi.js client and join each channel and then send messages.
Is the messages being sent broadly the same sent to all channels?
yes, that’s the case.
but it’s way below the limit of 20M/30s overall.
i crunched the logs, that’s what i found:
on 2 consecutive occasions the bot crossed the rate limit yesterday night. on a runtime of 13 hours that actually seems to be a very rare occasion.
the bot served 14 simultaneous users (peak) and ~10 in the mean.
in fact i got a msg_ratelimit notice on those 2 occasions.
but i found the 18th message was rejected already, so 20 in 30 does not seem to hold true exactly- there may be more “undocumented” rules.
the double rate limit excess resulted in a disconnect and from there on the message sending was not recoverable - messages got silently dropped. no further information (reconnect worked, joins worked, message sending looked ok, but they did not appear in chat)
a few more notes:
i still got msg duplicate (for shared chat, where 2 bot users were using stream together) (after the disconnect)
i still got msg banned (for a user who apparently banned the bot for whatever reason) (also after the disconnect)
i had a similar issue yesterday, i restarted the bot (new connect, new joins) and that recovered. tonight the state was unrecoverable. also i could not find information on “how long is the bot not allowed to send” or “when will the rate limiting/message dropping stop”
Question:
is there more information on rate limit and recovery i just did not find yet?
why is there no further notice, but other issues (duplicate, ban) still get reported?
is there a way to detect that messages could not be delivered (allthough send to irc channel looked fine)?
To my knowledge tmi.js utilises the IRC interface.
You should probably check what the libraries you are using are doing to help understand your issues.
Then under IRC you are hitting the “spam black box” and getting silent dropped
users tend to ban a bot rather than use whatever method the bot “prefers” for uninstall.
a global disconnect used to last 8 hours but is now 30 minutes I believe
To hide the fact that you are being dropped from sending for spam. So attacks don’t know it’s time to rotate attack accounts.
Sure I can think of a handful, but I won’t answer due to the answer to the previous question. The simplest one is obvious: run a second connection to the channel
The solve might be to switch from IRC to API to sending, as with app access token that requires the dual legged approach to oAuth. IRC doesn’t follow that mechanism, and/or better controls of sending in shared chat mode.
But again broadly sending the same message to multiple channels will liekly result in the blackbox spam drop issue, and a better solution is not to deliver this messaging via chat (as it’s duplicative) and go Twitch extension instead.
users tend to ban a bot rather than use whatever method the bot “prefers” for uninstall.
is this an issue/risk? lets say: banned x times, twitch blocks the bot completely?
a global disconnect used to last 8 hours but is now 30 minutes I believe
may explain why i could restart the bot two days ago and it recovered
… and go Twitch extension instead
agreed
one more thing: giving moderator role to the bot solved the issue. so the “black box spam” seems to affect only deliveries to channels where the bot has no privileged status.