[Request/Suggestion] Couple of things I've been thinking about

To start off, IRC Hostmasks.
My bot has an auth system built in, however, due the fact that you cant DM IRC users via the IRC itself with your current setup, I have to add user hostmasks to the user’s account in the conf files. The format you use for hostmask’s appears to be nonstandard (ex of normal hostmask: nick!user@twitch.tv). I’d like to see a document built to educating the framework of the IRCd, or a link to a similar version, so dev’s can build around a set guideline. If someone would help me with the the format, I’d be grateful, as currently anyone with drtankhead in their name has root to the bot. Not very secure…

This may be a good time to bring up a second item, which basically if existed, would remove the need for the first item. the ability to DM another client via the IRC, or possibly route the whisper system through it, so one can DM a bot or user (so long as they are online). This feature could be limited if needed, and if you(twitch) need to, loggable,

Next item, Integrating IRC perm/access levels!
To give an example of what I mean, I’ll refer to UnrealIRCd, a popular Internet relay chat daemon.

Unreal has channel and server perm levels, Ill list them:
Server-Level:
Root [Above all else, nothing higher, can do everything.
Network Administrators [Your staff, These people can kill, ban, kick, shun, set spam filters, set defcon, force people to join/leave channels, force a usermode, etc.]
Helper [Support/help]

Channel:
Owner [Your Brodcaster, can fully administer the channel they are in (SA(Server Admin) still overrides).

Admin [Cannot be kicked/banned by OPs, good for the existing channel admin feature. has same perms as OP.

OP [Your Moderators, with a kick, these guys can mod other people. Same as halfop + can op others.]

HalfOP [Can kick, ban, do everything a mod does.]

Voice [your subscribers, they cannot moderate, but are exempt from +m, or “sub only mode”

Normal [Your regular joe, can chat, and make Kappa’s]


These levels would introduce so much options for bots and channel broadcasters.
For example, My bot can auto-mode people, so when they join the channel, they are given one of those perm levels, useful if something breaks, or to just get a grip on who’s where. These systems are sorta there, but integrating the various parts would simplify everything, yet keeping it secure.

That I guess covers it.

Feel free to comment on any of the above. or if you have any questions on application. Also, If you would like a code example, ask me. I can resolve any misunderstandings any of you might have.

You are coming at this from the IRC point of view.

The problem is that Twitch Chat is not IRC.
It’s Twitch’s own brand of chat that borrowed a fair chunk of the IRC spec, and just happens to have a IRC end point that works enough for a IRC client to connect to it.

Most of what TMI does is outlined in this document https://github.com/justintv/Twitch-API/blob/master/IRC.md

It sounds like you have taken a off the shelf IRC bot and tried to apply it to Twitch, which frankly is just wrong.

Since rather than relying on how ever the hell you are authenticating users to your bot, you should only be checking the full username, no need to deal with the hostmask, and then you wouldn’t have xdrtankheadx having access to root on your bot… Which doesn’t even sound right at all…

You can whisper bots so your second point is moot, it’s available right now. I myself whisper control commands to my own bots. And this would be the “DM” method to use in this case.

I don’t think we need or want the IRC access levels and it’s not the approach Twitch is going to make to it’s chat. But I think your suggestion of this is considering Chat as IRC, which is isn’t.

1 Like

As BarryCarlyon stated, even though twitch has an ‘IRC Interface’ its not really an IRC daemon. It is meant to give the most basic of functionality so bots can have an interface that doesn’t require a whole lot of browser-mimicking.

Due to twitch REQUIRING an account-specific OAuth token to connect you can be assured that the user JoeBlow is JoeBlow and not someone else that has changed to JoeBlow’s nick while he was offline(unlike in a true IRC setting).

As far as DMs/Whispers, there’s already an interface for such, though its a bit obscure. Look through this forum and you’ll find threads related to how to do such.

If you are using mIRC as your platform I have a few scripts that attempt to normalize Twitch’s irc-esq interface on github, including DM/Whisper support.

it’s also worth noting if you request the CAP of TAGS last time I checked you get a tag that contains a userID so in the (unlikely) event of a username change…

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