# Quick and dirty way to check if a user is a subscriber/mod if tags aren't given?

**URL:** <https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422>\
**Category:** API\
**Created:** [August 14, 2017, 11:38pm UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422 "2017-08-14T23:38:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eziana](https://avatars.discourse-cdn.com/v4/letter/e/919ad9/32.png) [@Eziana](https://discuss.dev.twitch.com/u/Eziana)\
**Post date:** [August 14, 2017, 11:38pm UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/1 "2017-08-14T23:38:19Z")

</div>

I know on regular message events, for example, you get tags you subscribe to. I get display-name, subscriber, and mod tags on these.

However, when one whispers your bot, you do not receive these tags. The whisper is sent as an unknown event with no tags, just the user nick and the message.

To be exact, here’s the raw line you get:  
UnknownEvent(line=: **eziana!eziana@eziana.tmi.twitch.tv WHISPER ezianabot :hi** )

I would like to possibly see if it’s possible to request tags from a nick, or is there an easy way to do this?

The reason I want to do this is because I want to disable my whispers as a streamer for some pretty obvious reasons. Although I don’t want to punish the mass because of a few rotten eggs, so I’ve devised a plan to tell close friends and moderators to instead whisper my bot. The bot will see these whispers and forward them to my terminal view, emulating the whisper environment, pictured below. I’ve decided I’ll only forward mod whispers to the terminal view as well, perhaps in the event if my users were to ever figure out you could spam my terminal like this.

 ![](https://d2opxh93rbxzdn.cloudfront.net/original/2X/3/3bb4de9e8efa5c807595548cce0f7d03a1940cc9.png)

---

<div class="post-metadata">

**Author:** ![iamthem00s3](https://avatars.discourse-cdn.com/v4/letter/i/45deac/32.png) [@iamthem00s3](https://discuss.dev.twitch.com/u/iamthem00s3)\
**Post date:** [August 14, 2017, 11:45pm UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/2 "2017-08-14T23:45:36Z")

</div>

No quick and easy way, but you can have your bot check to see if they’re in your subscriber list via the API, and then forward the message if they are.

---

<div class="post-metadata">

**Author:** ![Eziana](https://avatars.discourse-cdn.com/v4/letter/e/919ad9/32.png) [@Eziana](https://discuss.dev.twitch.com/u/Eziana)\
**Post date:** [August 14, 2017, 11:48pm UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/3 "2017-08-14T23:48:29Z")

</div>

Here’s the issue,

1. If I make an API call, I’m already delaying the time it takes from that whisper to get to me, because it must download additional resources.

2. If they send multiple whispers in a relatively short time, there’s no guarantee which order they get verified and forwarded, so I’d have to implement a queue with additional overhead management to make sure the whispers come in the correct order.

---

<div class="post-metadata">

**Author:** ![iamthem00s3](https://avatars.discourse-cdn.com/v4/letter/i/45deac/32.png) [@iamthem00s3](https://discuss.dev.twitch.com/u/iamthem00s3)\
**Post date:** [August 14, 2017, 11:52pm UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/4 "2017-08-14T23:52:59Z")

</div>

Alternatively you can download your sub list .csv and compare it against that, then there’s no download time.

You’ll have to maintain that list for current subs though.

There’s no way to have a /w include subscriber status on your channel though, so you’ll need some workaround.

---

<div class="post-metadata">

**Author:** ![Eziana](https://avatars.discourse-cdn.com/v4/letter/e/919ad9/32.png) [@Eziana](https://discuss.dev.twitch.com/u/Eziana)\
**Post date:** [August 14, 2017, 11:55pm UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/5 "2017-08-14T23:55:34Z")

</div>

I’ve determined what I’ll do.  
Thanks for the suggestions

---

<div class="post-metadata">

**Author:** ![Alca](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/alca/32/2783_2.png) [@Alca](https://discuss.dev.twitch.com/u/Alca)\
**Post date:** [August 15, 2017, 3:15am UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/6 "2017-08-15T03:15:13Z")

</div>

Here’s what you need:

> [@Finding mod status](https://discuss.dev.twitch.com/t/finding-mod-status/11334/2):
>
> There is an undocumented Kraken endpoint that will be useful to you: [https://api.twitch.tv/kraken/users/:user\_id/chat/channels/:channel\_id?api\_version=5](https://api.twitch.tv/kraken/users/:user_id/chat/channels/:channel_id?api_version=5) For example: Alca in ScufJumpn’s channel. [https://api.twitch.tv/kraken/users/7676884/chat/channels/64284181?api\_version=5](https://api.twitch.tv/kraken/users/7676884/chat/channels/64284181?api_version=5) { "\_id": "7676884", "login": "alca", "display\_name": "Alca", "color": "#177DE3", "is\_verified\_bot": true, // This won't be true for most users. "badges": [ { "id": "moderator", "version": "1" }, { …

---

<div class="post-metadata">

**Author:** ![system](https://d2opxh93rbxzdn.cloudfront.net/original/2X/0/05909729875cce3b53e59d5561c4d23bb14948fc.png) [@system](https://discuss.dev.twitch.com/u/system)\
**Post date:** [September 14, 2017, 3:15am UTC](https://discuss.dev.twitch.com/t/quick-and-dirty-way-to-check-if-a-user-is-a-subscriber-mod-if-tags-arent-given/11422/7 "2017-09-14T03:15:21Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
