I’ve studied the IRC output and there is no indication when the bot is banned/silenced/whatever, that I can see. I’ve also endlessly searched the API documentation without finding anything relevant (as always seems to be the case with the Twitch API for some mysterious reason)…
I don’t want to waste my time trying to join streams where my bot is banned, and since it only visits streams for a specific, obscure game, it often happens. If I can avoid it, I would really like to avoid having to keep track of this manually and keeping a manual list. After all, the whole point of APIs and bots is to automate things.
I wish to be able to ask the API: “Am I banned from streamer X’s streams?” and have it respond “yes” or “no”.
Your bot shouldn’t be joining channels without invitation in the first place, especially if you intend to send unsolicited messages to chat. If you continue you to do so you should be less worried about bans on specific channels and more about a Twitch suspension for a spam bot.
Actually it’s not speculation, if you search this forum you’ll see that it’s not uncommon for many bots to have run into Twitch’s anti-spam measures, most often for doing the sort of thing you intend to do as channels frequently report unsolicited bots for ToS violation due to spam.
Well, nobody would ever know that my bot exists if an “invitation” had to be made first. That’s my point. I’m sure you’re right about many, many people abusing Twitch’s API and Twitch in general, but I’m not one of those, and I always seem to be bundled together with malicious actors, which feels really bad.
If people don’t know your bot exists then you have to market it first, those who want it can request it. If you join the my channel, or any of the channels I work with, then yes your bot will be banned and reported, and this is a policy that many channels on Twitch follow as bots that send messages to chat with being requested to do so are unwanted. Whatever the reason for your spam is, if it’s unsolicited then it’s a potential violation of Twitch’s guidelines, and Twitch will treat it as such.
Always the same attitude… “You have to market it”… “those who want it can request it”… “your spam”…
What does that even mean? You assume that I have unlimited funding to “market” a god damn bot which was made for fun and brings joy and doesn’t send any URLs or commercial messages?! I don’t have one damn cent. I spent a lot of time developing this thing for free – if anything, I should be paid, but of course I don’t expect anyone to give me money, just like I don’t expect to SPEND money on something that is not able to or even intended to make money.
I don’t even know what you mean by “market it”. Have you ever used the Internet? It’s impossible to get the word out about anything. Even when I’ve in the past paid huge amounts of money for actual ads, I got no traffic whatsoever from it except a couple of bots (ironically).
I really wish that people like you would stop having this condescending attitude and acting stupid when you know very well that there is no such thing as “marketing” for 99.9999999% of all people.
You can market without money, even more when you are in a niche. You say it yourself, it’s an “obscure game” so it’s not one with thousands of streamers.
Contact streamer that play the game often, join their stream, talk with them, and let them see that your bot can have value. If you think marketing only means spending money that’s a problem. Show to the streamer the value of your tool and they will use it.
I never spent a cent on marketing my work, I do have a small community using it in niche games.
Please keep it civil. There is no need to call people stupid.
When you are trying to bend the rules to send unsolicited messages to chat.
As to your original question
The only way to see if you, a user, is banned from a given chat, is to try sending a message to the chat. If you are banned you get a USERNOTICE with the relevant msg_id
msg_banned - You are permanently banned from talking in <channel>.
@BarryCarlyon Well, I’ve now made a series of experiments. I made my bot join my own channel, banned it, and then attempted to send another message to my channel. There is no special USERNOTICE or any kind of response from the server, and I capture all incoming lines and display them while debugging… The bot joins, sends the message, the message is not displayed, and then nothing happens. No response such as “You are permanently banned from talking in…” or anything like it is sent back from the server. This really puzzles me. Is this USERNOTICE not part of IRC? Are you talking about some special “API signal” or something? I must be confused somehow about this.
I don’t use a library. I coded this myself. I see anything that the Twitch server sends back to me, and it doesn’t include what was mentioned (or anything like it).