It is better to inteorrgate the tags and test for the existance of the moderator (or broadcaster) badge in the tags.
Operator status is general unreliable as every now and again it stops working (it should come back)
And additionally the Ops are sent in batches (just like join/parts). Ops do work in channels with 1k+ chatters but like I said unreliable.
Twitch merely implementes parts of the IRC RFC it’s not compliant.
So more reliable to test for the moderator badge in the PRIVMSG tags sent with IRCV3
PRIVMSG
| Parameter | Description |
|---|---|
| badges | Comma-separated list of chat badges and the version of each badge (each in the format /, such as admin/1). Valid badge values: admin, bits, broadcaster, global_mod, moderator, subscriber, staff, turbo. |
Edit: can confirm that ops is broken though