# Notice of upcoming changes: deprecating the TWITCHCLIENT command

**URL:** <https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270>\
**Category:** Chat and IRC\
**Created:** [May 21, 2015, 2:44am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270 "2015-05-21T02:44:55Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [May 21, 2015, 2:44am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/1 "2015-05-21T02:44:56Z")

</div>

Hey everyone,

I wanted to give you all a heads up that next week we’ll be officially deprecating the TWITCHCLIENT command in favor of our IRC v3 commands (documentation [here](https://github.com/justintv/Twitch-API/blob/master/chat/capabilities.md), including recent capabilities we’ve added which keep non-TWITCHCLIENT users at feature parity going forward).

We’ll continue to support TWITCHCLIENT in the short-term, though we plan on making some backend changes which make TWITCHCLIENT features less robust (such as guaranteed ordering of USERCOLOR before PRIVMSG).

Once we know an exact date that we’ll stop supporting TWITCHCLIENT we’ll give several weeks of advance notice.

Thanks,  
John

---

<div class="post-metadata">

**Author:** ![tduva](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/tduva/32/392_2.png) [@tduva](https://staging-discuss.dev.twitch.com/u/tduva)\
**Post date:** [May 21, 2015, 7:29am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/2 "2015-05-21T07:29:22Z")

</div>

Thanks for the information. Thanks for adding the membership capability as well. Makes much more sense than having to maintain a secondary connection just for the userlist.

I noticed some messages don’t work yet unless I use TC4, for example a HOSTTARGET on join or when I enable/disable slowmode or submode. I assume this is still going to be added in some way (maybe also a CHANNELSTATE message or something).

---

<div class="post-metadata">

**Author:** ![brildum](https://avatars.discourse-cdn.com/v4/letter/b/f19dbf/32.png) [@brildum](https://staging-discuss.dev.twitch.com/u/brildum)\
**Post date:** [May 21, 2015, 11:03pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/3 "2015-05-21T23:03:59Z")

</div>

Many messages that require TWITCHCLIENT currently (like slow-mode, etc) will get a replacement before TWITCHCLIENT is officially deprecated. It is likely to be replaced by a [twitch.tv/commands](http://twitch.tv/commands) enabled NOTICE message. When it is finalized, we’ll update this thread.

---

<div class="post-metadata">

**Author:** ![eac](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/eac/32/391_2.png) [@eac](https://staging-discuss.dev.twitch.com/u/eac)\
**Post date:** [May 23, 2015, 2:38am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/4 "2015-05-23T02:38:50Z")

</div>

Is it easier if we report issues with the documentation and implementation here, or if we report them as github issues on the chat repo?

---

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [May 23, 2015, 3:46am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/5 "2015-05-23T03:46:13Z")

</div>

If there are discrepancies between the description of the API and how the system currently behaves, please report them as github issues.

---

<div class="post-metadata">

**Author:** ![CBenni](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/cbenni/32/297_2.png) [@CBenni](https://staging-discuss.dev.twitch.com/u/CBenni)\
**Post date:** [May 23, 2015, 10:30pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/6 "2015-05-23T22:30:35Z")

</div>

Would it be possible to add a CAP for followers? I have a feeling that might make follower notifications way easier, cheaper both on twitchs and on the clients side, and have them be instant, instead of delayed by whatever the checking interval is.  
I would imagine it would be something along the lines of jtv sending info messages about who followed (perhaps even accumulated over a couple of seconds)

Especially when paired with the new websockets, this could make alot of things easier.

---

<div class="post-metadata">

**Author:** ![eac](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/eac/32/391_2.png) [@eac](https://staging-discuss.dev.twitch.com/u/eac)\
**Post date:** [May 26, 2015, 7:52pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/7 "2015-05-26T19:52:20Z")

</div>

Alright, thanks. I filed a ticket for a small spec violation issue that I found.

---

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [May 28, 2015, 2:46am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/8 "2015-05-28T02:46:07Z")

</div>

FYI we will soon be migrating various “jtv admin” messages to NOTICE commands (which will also help us with chat localization) - for instance toggling subsonly mode will look like this:

@msg-id=slow\_off :tmi.twitch.tv NOTICE #twitch\_user :This room is no longer in slow mode.

This will solve one issue with non-TWITCHCLIENT clients missing various messages.

---

<div class="post-metadata">

**Author:** ![tduva](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/tduva/32/392_2.png) [@tduva](https://staging-discuss.dev.twitch.com/u/tduva)\
**Post date:** [May 28, 2015, 4:27am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/9 "2015-05-28T04:27:32Z")

</div>

Sounds great. Will this also be send on join? Would be useful to display the state.

---

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [May 28, 2015, 5:22am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/10 "2015-05-28T05:22:07Z")

</div>

We do have plans to expose the chat state on joining a room, but that will be a later change.

---

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [June 2, 2015, 1:50am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/11 "2015-06-02T01:50:26Z")

</div>

We’ve started this transition, and we’ll be changing more admin-type messages to use NOTICE in the coming days as well. We’re planning on removing TWITCHCLIENT support in 2 weeks (on Monday, June 15).

---

<div class="post-metadata">

**Author:** ![moocat](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/moocat/32/116_2.png) [@moocat](https://staging-discuss.dev.twitch.com/u/moocat)\
**Post date:** [June 2, 2015, 9:53am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/12 "2015-06-02T09:53:41Z")

</div>

Will the NOTICE changes be something we subscribe to, or will it all just turn on at a random time one of these days for every client?

And does “changing more” mean you’ll be changing some one day, and some other at a later time?

Keep in mind with the join restrictions it takes like half a day just to rejoin all chats after a patch.

---

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [June 2, 2015, 10:11am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/13 "2015-06-02T10:11:03Z")

</div>

You will receive NOTICE commands by requesting the commands capability. We’re planning to roll over existing jtv messages into NOTICE messages in one group just prior to removing TWITCHCLIENT.

---

<div class="post-metadata">

**Author:** ![jrizzo](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/jrizzo/32/447_2.png) [@jrizzo](https://staging-discuss.dev.twitch.com/u/jrizzo)\
**Post date:** [June 3, 2015, 9:37pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/14 "2015-06-03T21:37:37Z")

</div>

I’ve updated our [documentation](https://github.com/justintv/Twitch-API/blob/master/chat/capabilities.md) to include NOTICE and GLOBALUSERSTATE commands.

I also forgot to mention previously that CLEARCHAT and HOSTTARGET messages are no longer sent as “jtv” admin messages, and only as commands (including TWITCHCLIENT users).

---

<div class="post-metadata">

**Author:** ![Freddy](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/freddy/32/111_2.png) [@Freddy](https://staging-discuss.dev.twitch.com/u/Freddy)\
**Post date:** [June 3, 2015, 11:35pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/15 "2015-06-03T23:35:25Z")

</div>

it would be nice to have all possible values of NOTICE’s msg-id in the documentation as well.

---

<div class="post-metadata">

**Author:** ![fire](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/fire/32/126_2.png) [@fire](https://staging-discuss.dev.twitch.com/u/fire)\
**Post date:** [June 4, 2015, 1:33am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/16 "2015-06-04T01:33:36Z")

</div>

Done, [the documentation](https://github.com/justintv/Twitch-API/blob/master/chat/capabilities.md#notice) now includes a list of msg id values and their associated text

---

<div class="post-metadata">

**Author:** ![theroflcoptr](https://avatars.discourse-cdn.com/v4/letter/t/f05b48/32.png) [@theroflcoptr](https://staging-discuss.dev.twitch.com/u/theroflcoptr)\
**Post date:** [June 4, 2015, 4:49pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/17 "2015-06-04T16:49:10Z")

</div>

How are subscriptions going to be announced?

---

<div class="post-metadata">

**Author:** ![fire](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/fire/32/126_2.png) [@fire](https://staging-discuss.dev.twitch.com/u/fire)\
**Post date:** [June 4, 2015, 11:19pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/18 "2015-06-04T23:19:03Z")

</div>

> [@theroflcoptr](#):
>
> How are subscriptions going to be announced?

Should be from `twitchnotify` like usual unless otherwise stated, though sending `notices` for them instead is not off the table

---

<div class="post-metadata">

**Author:** ![tduva](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/tduva/32/392_2.png) [@tduva](https://staging-discuss.dev.twitch.com/u/tduva)\
**Post date:** [June 5, 2015, 8:29am UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/19 "2015-06-05T08:29:44Z")

</div>

> [@jrizzo](#):
>
> I’ve updated our documentation to include NOTICE and GLOBALUSERSTATE commands.

How will GLOBALUSERSTATE work? Will it be the same as USERSTATE (for local user only, same tags), just with no channel?

_Edit_: I noticed it’s already being sent:

```
@color=#9ACD32;display-name=tduvaTest;emote-sets=0;emotesets=0;turbo=0;user-type=;user_type= :tmi.twitch.tv GLOBALUSERSTATE

```

---

<div class="post-metadata">

**Author:** ![EhsanKia](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/ehsankia/32/10412_2.png) [@EhsanKia](https://staging-discuss.dev.twitch.com/u/EhsanKia)\
**Post date:** [June 13, 2015, 10:06pm UTC](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270/20 "2015-06-13T22:06:41Z")

</div>

Hmm, PRIVMSG tags don’t seem to have emote-sets, and I’m not quite sure how USERSTATE messages are actually sent. I have all 3 caps enabled, yet I only get a single USERSTATE line when I first connect and nothing afterwards.

Can’t find anything more about this in the documentation, could anyone expand on how to get emoteset info?

[Next page](https://staging-discuss.dev.twitch.com/t/notice-of-upcoming-changes-deprecating-the-twitchclient-command/2270.md?page=2)
