Sending Whispers with Python / socket module

I’ve gone through all the previous posts about it. Most of them are 2+ years old and I’m thinking that there might just be another way to do it now / 100% just doesn’t work. Previous posts that were marked solved got it working with something like:
f’PRIVMSG jtv :/w USERNAME Test From Bot\r\n’.encode(‘utf-8’))
I’ve checked the messaging settings on both accounts about receiving messages from non follows.
I can send messages to the regular chat just fine.

Any suggestions? Thanks!

For start you omittied the # at the start of the room name. And you should be operating in a room that you are in.

An outbound whisper has the format:

PRIVMSG #roomnane :.w targetuser words that are to be sent

I prefer the . notification of chat commands but both .w and /w are valid, some IRC Lib’s are known to grab the / and reprocess it as a server command, but you seem to be lib less, so this shouldn’t be an issue.

You mileage will vary with Whispers. The older post talk about the semantics.

But the newer posts talk about deliverbility problems:

May: Whisper doesn't work. Please
June: An update for the delayed bot verification request process - #25 by Dist
June: Send whispers with GMS2 - #7
June: How to reply to whispers with bot - #5

They are just not desgined to be used by bots and there are generally better ways to work privately with users, third party portals, extensions etc.

Whispers have deliverability problems for bots. And should be avoided if you want reliabilty.

Generally speaking you will have better luck repling to a whisper as this should of open a conversation whisper. And as per the old freenode rule: A bot should reply in the same medium as it was triggered.

So if it was triggered by chat it replies in chat, if it was triggered in a whisper it replies via whisper.

Thanks for all the info. Unfortunately I have tried all the different formatting I found in previous / old posts including:
PRIVMSG #roomname :.w targetuser words that are to be sent
and nothing works. The bot is a newer account, but it is created from my “main” account that I stream under using the SAME Email address. The MAIN account CAN send whispers, the bot account CAN NOT. (I just tested this now, didn’t know this when originally posting) So it’s 100% the account not the code. Anything I can do about that?

That would be the problem

If you turn on raw logging. You will get an error notice along the lines of:

Your settings prevent you sending this whisper.

Essentially no, Bot’s just can’t (reliably) whisper. And should avoid using this product.

There is no “fix”

The only advice I/we can really give you is “don’t use Whispers in your bot” you will have deliverbility issues

1 Like

Honestly I appreciate you just saying “Don’t even bother trying” rather than me ******* with it for days. <3 Thanks for the info!

:+1: no problem on that.

Sorry can’t give a “heres a fix”

Whispers just don’t really work for bots at all. And it’s a common problem devs have.

Yeah in all the other posts I read that was the common denominator. “Just don’t do it” :slight_smile: