IRC Bot Emote Spam Handling

Hi there, I was wondering if you guys could help me out.

I’m trying to make an emote spam detection function for my bot. I have everything set up in terms of the actual detection, but my problem is instead that after a certain number of word repeats, the word is not sent to IRC.

For example, if a user sends “FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ” to the channel, that message shows up in the twitch chat, but not in the corresponding twitch IRC channel. As such it is not possible to detect the spam. Similarly, if a user spams that message in IRC, it is not sent to twitch chat. Could anyone suggest a way to handle emote spam as the spam is not transferred to the IRC for processing?

Thanks in advance for any tips or help!

Likely this is related to the severe chat issues the site was experiencing yesterday. If you are seeing dropped messages its usually a server issue.

Hey, thanks for the reply. I’ve tested this for a few days so it wasn’t only yesterday, but I did notice the chat issues yesterday. However I think this is a more general thing. I had a few disconnects yesterday, but in general, whenever I attempt to send repeated words they are not transferred. I’ve been trying this for the past few days. It may be a limit imposed by the twitch IRC server possibly?

Post an example message that doesn’t go through and also the server IP and port you are connecting to. The webclient is just an interface for the same “IRC” servers so there shouldn’t be any different.

server = “irc.twitch.tv
port = 6667
Those are both what I read to use on the twitch article on IRC connection.

  1. “FrankerZ” - Goes Through.
  2. “FrankerZ FrankerZ” - Goes Through.
  3. "FrankerZ FrankerZ FrankerZ " - Goes Through.
  4. “FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ” - Goes Through.
  5. “FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ” Goes Through.
  6. “FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ” - Does not go through.
  7. “FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ” - Does not go through.
  8. "FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ " Goes Through.
  9. “FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ FrankerZ” - Does not go through.

Trying the same thing with different emoticons yields different caps on the number of emotes possible before they stop going through. For example, with “:)” you can get away with 24 but then at 25 it no longer goes through.

I am able to reproduce the dropped messages on the sending side such that no users sees the messages on web or IRC. However, I am unable to reproduce the situation where some users see the message and others do not.