Whispers on IRC

Would be nice to have support for whispers on IRC

http://blog.twitch.tv/2015/06/whisper/

1 Like

It’s currently on group chat.

Make sure to request the commands cap

Quick basics for getting this over IRC

  • You must be connected to group chat - whispers are not sent over the normal chat servers
  • You must sent CAP REQ :twitch.tv/commands in order to receive whispers

Sending:

PRIVMSG #jtv :/w otherusername HeyGuys

Receiving:

:otherusername!otherusername@otherusername.tmi.twitch.tv WHISPER yourusername :HeyGuys

Note: Whispers will not be a part of TMI forever. They will be moved to a new system at some point.

1 Like

As a side note if you request CAP REQ :twitch.tv/tags the receiving whisper matches the IRCv3 output for tags and emote placement

Having the channel context (where the whisper originated from) would be great. That way a lot of the bot responses/spam could be offloaded to whispers, and invisible to the rest of the viewers.
Without the context you can’t reliably know which channel to get the data for.

Also, @Fugiman said the whisper system will be taken off IRC. Is there a time frame on that? What will it be moved to?

2 Likes

So do i understand correctly that i need to connect to 199.9.253.119 (the group server one of my chat rooms is on?) And send “CAP REQ :twitch.tv/commands” there to receive whispers there? And i can just send a priv msg to jtv on the standard irc.twitch.tv saying for example “/w trampolinetales example” to whisper “example” to trampolinetales?

Thanks already, it is kinda confusing to me, but i want to utilize the whispering with my bot.

1 Like

I fail to see how this couldn’t beem implemented by just using the irc person to person chat
I mean using PRIVMSG username :message is just waay easier, also the receiving part would be super straightforward

1 Like

We purposely made whispers convoluted for IRC integration because we didn’t want users and bot developers to become reliant on receiving user-to-user messages via IRC. We have plans to stop using TMI to send user-to-user messages and instead use a new system (and protocol) entirely. When will this happen? Hopefully in the few months.

1 Like

It seems they really want to move away from the irc protocol in the long run. I don’t think everyone there is worried about sticking to irc compliance. You have to understand irc is getting old and even with ircv3 it’s not all implemented and/or complete. Now websockets “they’re finally doing them YAY!” they have a similar working method with “messages/events” but can be coded on an app by app basis and has no standard for a chat. I see whispers as being the “private msg” in this new world.

Even PRIVMSG for channels seems weird now with twitch since justinfan### isn’t shown in the list. It’s not so much a “private channel ‘only users who have joined receives msgs’” any more. It’s a kin to saying your walkie talkies are a private convo. I can only hope they’ve chosen good names for client/server messages with websockets instead of just re-using PRIVMSG as well.

Oddly this more resembles the irc /notice command more than anything else and actually their implementation prevents us from thinking it is anything like a user-to-user private msg and makes us devs follow irc protocol.

The NOTICE command is used similarly to PRIVMSG. The difference between NOTICE and PRIVMSG is that automatic replies MUST NEVER be sent in response to a NOTICE message. This rule applies to servers REF RFC2812 https://tools.ietf.org/html/rfc2812#section-3.3.2

We currently have no plans to move away from IRC for normal channel communication. The IRC protocol has been proven to be a solid framework for group communication. Websockets is merely a different transport protocol underneath the IRC application protocol, making it easier to communicate from a browser context.

However, there are a number of features that we want for user<->user communication that the IRC protocol fails to provide. Therefore there are plans to move whispers (and only whispers) to a different system/protocol that better suits our needs. I expect we’ll announce more details about these plans as they approach completion.

4 Likes

So, let me get this straight. You plan to continue using IRC, but you “purposely made whispers convoluted for IRC integration” because someday you plan to make up some entire new protocol just for this one feature? Rather than just…

  • Using the standard IRC method for private messaging (steve@blah.blah PRIVMSG joe :howdy)
  • Sending a NOTICE message to the recipient (like TwitchNotify does IIRC)
  • Sending a PRIVMSG to the channel only to that recipient (steve@blah.blah PRIVMSG #butts :howdy - like jtv does; that would also solve the problem of not knowing which channel it came from)
  • Even just sending the WHISPER message to clients which have required the appopriate capability (like you do for user colours)

…because IRC “fails to provide features for user<->user communication”? Which is entirely what IRC does?

In what universe does this make even the tiniest speck of sense?

2 Likes

@Rena_Kunisaki I think you missed this bit…

IRC fails not in sending messages user-to-user, but it fails in some other features which they want to add (dont know for sure, but for example something like a friend list).

Always remember: Twitch Chat is not IRC. It just implements parts of the protocol and has a IRC based interface that IRC clients can connect to.

TMI does stand for Twitch Messaging Interface after all…

1 Like

You plan to continue using IRC, but you “purposely made whispers convoluted for IRC integration”

Yep

because someday

Very soon

you plan to make up some entire new protocol just for this one feature?

I never claimed we’d make up some new protocol, just that the protocol won’t be IRC

…because IRC “fails to provide features for user<->user communication”?

It fails to provide user<->user in the way we want it, yes.

Which is entirely what IRC does?

Not really. IRC is made for stateless pubsub messaging. It’s really good at broadcasting a message to a group of users, assuming you don’t care about, say, saving the messages for people who are offline and replaying it to them. This very limitation is what crippled group chat and led to it’s (pending) death. And that’s only one feature.

In what universe does this make even the tiniest speck of sense?

In a universe where we want to provide a good experience for our users by selecting the technology most appropriate for the product we want to build, instead of arbitrarily shackling ourselves to some standard.


I think that covers as much of our plans for whispers (as it relates to developers) in the near future that we can release for now, so I’m closing the thread. If you have more specific concerns, please open a new thread and we’ll address them. Thanks!

5 Likes