Whisper blocked unless user whispers first

Hey all,

I’m attempting to setup a bot, and I’m noticing that if a user hasn’t whispered the bot yet, the whispers are blocked (There is no message back to the bot indicating that the whisper was blocked).

I’ve read a bit about whitelisting, but this is a bot that is just starting to be developed/used. What are the steps I need to take to allow these whispers to go through?

I’d say just log into the bot’s account and adjust the settings - https://www.twitch.tv/settings/security “block whispers from people you don’t follow”

I don’t think the unblock whispers thing is going to fix your problem if its the same issue I have. I have been waiting for awhile for the devs to acknowledge this problem as well. If you find a solution please let me know!!!

The long and short of it is: a bot should NEVER initiate the whisper/conversation.

It lacks “user intent” and is easily mis interpreted as Spam by the filters.

The bot should reply to a command in the same medium that the command was run.

IE:

  • user runs command in chat, bot replies via chat
  • user runs command in whisper, bot replies via whisper

It’s not an RFC’ed rule, but it’s a very very good guideline, and will solve a LOT of headache.

1 Like

That doesnt help me sadly =( Cmon devs wake up and save me please! haha

If you don’t mind me asking, what use case warrants being the initiator of a whisper conversation? Just interested.

While I agree with @BarryCarlyon for commands, (and thus why all my whisper commands require the command to be triggered by whispers), a use case that I would like to use but haven’t due to this issue is when my bot bans someone for acquiring too many strikes (posting links, cap spam, etc), i would like to whisper to the user why the bot banned them and how they can appeal their ban (which I handle using a whisper the bot command), and it would be nice to whisper them this info rather than posting it in chat.

Disagree with this strongly. If your bot has a lot of commands and you’ve got an active, participating chat, then it makes the most sense to have many commands initiated in the chat responded via whispers. Especially important for running giveaways or any other “you need to go fill out this link form now” information that shouldn’t be delivered to the channel as a whole.

This doesn’t only affect bots, but also real users who try to initiate whispers via IRC. I don’t know what triggers it exactly, maybe it’s users that initiate a lot of whisper conversations and appear like bots.

So instead of the bot posting one message in chat informing everyone at once, you have 17 people typing the same command to get the same info? Surely that disrupts the chat more. Whispering the bot is no more complicated than typing the chat command, just a little longer.

Automatically contacting giveaway winners is a valid point though.

1 Like

.timeout user length BAN REASON

Works just as well. And means that if the user is a BTTV user with “whispers completely hidden” they still see the ban reason inline in Twitch chat.

You are right about appeals but that can be solved with a profile button, or regular timed chat command.

imo the lowest common denominator that basically has 100% success of delivery is Twitch Chat itself. So makes sense to deliver as much as possible via that medium.

As @3ventic points out, 17 people running the command in the same moment means 17 whispers which means you may hit the whisper rate limit, send the response in the medium it was requested, ie “main chat” and you send one response and can apply sane command cooldowns and avoid chat rate limits. Sure make the command reply via whisper, but if 100 people whisper the bot thats 100 whispers you have to reply back to.

The whisper rate limit is way lower than chat.

What about for something like a !points command? A point bot would be the perfect candidate to send whispers to individual users: It’s something that really only effects the user (Other people don’t care how many points you have…they care what they have), and would reduce a lot of spam if those messages were sent in whispers instead.

There seems to be a whitelisting system at Twitch: But from what I’ve read, it’s based on previous whispers. How exactly does one get a bot whitelisted, if it can’t send any whispers to begin with? This is a pretty big blocker for our project.

My suggestion is a phone verification system: It seems to be the best way to ensure that an actual person owns an account. With phone verification, it would be the first step for allowing a set number of whispers per hour, and as long as messages aren’t being reported as spam, then the system should continue allowing whispers.

In your example of a !points command some design choices in how to display that information to the user will come down to how many users you will be interacting with. If it’s a channel where the command will be used infrequently and by a few users then a whisper, which contains information specific to that user such as their points, might be okay, but that really doesn’t scale well if you have potentially hundreds of users as while people will only see information important to them in a whisper the bot itself wont be able to deal with that many whispers and the channel will still be spammed with the ‘!points’ command.

So perhaps a solution that might fit better for some channels is rather than to use whispers to give a user the long list of commands the bot can do, or their points on the channel, is to have the command trigger the bot to give a link in chat that leads to the list of bot commands, or a points page. That way not everyone will have to use ‘!points’ as once one person does it, everyone has a link to follow.

That may not be the right fit for everyone, and if you are set on using whispers to minimise chat spam and reduce messages that only have relevance to 1 user being sent in chat then go ahead, just realise there will be issues will scalability and it might not be an ideal user experience.

From what I’ve experienced: Whispers reduce the amount of spam in chat (This is not being used it super large channels, but it’s enough where having a bot message chat every time would clutter chat).

I think we’re straying away from the original point of the post: Why is this happening, and how do I prevent this behavior or whitelist my bot? I have already made the design decision that I would like to whisper my users, at the request of the broadcaster who’s commissioning me to make this bot.

This seems like a fairly frequent issue (Seeing many other posts), but the lack of twitch responses makes me a bit nervous. I understand in all fairness they have to be vague in some aspects as to not allow spammers to abuse the system, but these are legitimate people who are being stifled by this system.

Hi everyone,

If you are experiencing this problem, can you reply with the user_id and login of the bot that is unable to whisper new users?

Get users to send !points in a whisper to start with, then you don’t have a wall of !points in chat either… Move ALL your points send and reply spam to whispers, and you’ve solved the communciations issue.

On a large channel I work on, you can’t use !points, you must either whisper the bot, or go to our website. Solves the problem of the weird whisper bug, and we get no !points spam in main chat, the request or the reply.

Username: manatradersbot
UserID: 152622918

Just attempted to send a whisper to “mrbudwhite” (User ID: 147846163), and was silently blocked. Same whisper sent to another user who previously whispered the bot went through successfully.

Bot is currently using TwitchLib to send whispers.

I am glad to see a dev responding on this subject as its a big problem of mine. My bot I use is named “DunkBot” however if it was simply just my bot that this fix was for I would come up with a workaround but its actually my clients as well that whisper from their standalone IRCs that create an issue for me. They also cant whisper me from their IRC so even if I was able to whisper them they cant whisper me in the first place to trigger the command unless they use the browser.

If we are able to start a whisper conversation through IRC and it actually send to the user then all my problems will be solved.

The !points command is one good example, anything where a bot is in multiple channels and needs to know which channel the user is talking about is another.

Whispering the bot is more complicated, please remember that a great number of viewers on twitch are on mobile and starting a /w conversation with a bot can be difficult. Can be doubly difficult for anyone who is new to twitch as well.

Just a reminder that this problem still exists. Hopefully we will hear something from one of the devs about the situation soon.