Accessing whispers with bots

So I read that sending whispers is not easily possible without it being a known bot. But that’s not really what I care about. Is there a way to access whispers while you are connected to a specific channel? Im not using any library

You need to parse from the “non standard” IRC message sent as WHISPER as apposed to PRIVMSG. Using IRC vernacular, the command is WHISPER instead of PRIVMSG.

And have logged into chat using an oAuth that grants whisper reading, so scope whispers:read

Im not quite sure what you mean… never worked with scopes or anything just want to check if “…” is in a whisper of user “x”

At the bottom of this page, covers the Authentication scopes for chat.

In order to login and read/send to chat as a bot, you generate a token with chat:read and chat:edit and receive whispers you need whispers:read also on your token

Okay, I figured out how to use the scopes, but is there a way to check if the scopes are accessible by the bot? I tried going with whispers:read but that doesnt seem to give me access to see whispers I guess.

You’ll also need to update your parser

Or just log every incoming raw message before you parse it

You said I should change the parser to WHISPER, right? I cant find anything in the doc about it. And as PRIVMSG is used for sending messages, I assume that WHISPER is whispering to a specific person, right? But I just want to check the whispers in that case. I dont want to whisper anything to anyone.

To send a whisper

PRIVMSG #somechannel :.w target words to be sent

To Recieve a chat message

TagsAndHostStuff PRIVMSG #channel :chat message

To Recieve a whisper

TagsAndHostStutff WHISPER yourname :Whisper message

Or if easier use the Whispers PubSub Topic

So if I would say if "WHISPER :tmi.twitch.tv" in line: would that be executed everytime the person gets a whisper?

That doesn’t look like any language I’m familiar with so I don’t know

Other question then. Im logging every line in the socket just for debugging purposes, so if I get a whisper, shouldnt there also be something logged in the socket? Normally if somebody sends a message in a specific channel or the servers send PING it gets logged in there, so why arent whispers getting logged? Is that my problem? This is what I mean, why isnt there something similar with whispers:
grafik

I don’t know, works on my machine.

So if whispers are similarly logged on your machine there has to be problems with the scopes right?

if you are logging every message that the server is sneding and your bot is not seeing the whisper, then it could be scopes or something else

Is there a step I have to do after clicking the authorizing button on the authorization page?

Depends which authentication flow you are using

not sure but looking at the options I assume that I use the Authorization code flow

Getting whispers in the IRC interface might be scope-related, or it might be related to an IRC capability that needs to be requested (twitch.tv/commands?). Since none of that was documented, I ended up going the PubSub route.