Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Twitch handling #798

Open
vanosg opened this Issue Dec 12, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@vanosg
Copy link
Member

vanosg commented Dec 12, 2018

As Twitch gains popularity, it would be good for eggdrop to keep up with that. Right now, there are IRC gateways that connect to twitch servers, which Eggdrop can (somewhat) handle connecting to. However, many features are enabled via CAP, which bastardize the irc protocol by prefixing things like

usermeta:admin=false;registered=true;ssl=true :Nick!ident@host PRIVMSG #channel :Message

or

@badges=moderator/1,subscriber/6,sub-gifter/1;color=#FF00FF;display-name=PandaZaiGames;emotes=;flags=;id=74c84ef6-aacc-4baa-9dbb-fc437cf976d9;mod=1;room-id=100460555;subscriber=1;tmi-sent-ts=1544575129253;turbo=0;user-id=74077319;user-type=mod :pandazaigames!pandazaigames@pandazaigames.tmi.twitch.tv PRIVMSG #summerll0ve :Fallout

which causes many of the Eggdrop binds to fail. I'd like to look at a few possible solutions (module? config setting? core update?) to handle these deviants of nature. Right now it looks like the CAP requests for tags definitely affects things, maybe membership. 

Possible solutions: 
- add TW-PUB, TW-RAW, etc binds? 
- (via config setting) Preprocess raw messages to strip out any @-prefixed commands and store in a separate variable, available to user via Tcl?
- drink more scotch and ignore it?

There's probably a lot more to do here, as I'm not a twitch expert. Feel free to chime in with other things that could/should be handled.
@craze

This comment has been minimized.

Copy link

craze commented Feb 8, 2019

This is IRCv3 stuff which isn't really limited to Twitch. I imagine once Eggdrop handles IRCv3 tags in general, the Twitch specific information can easily be handled by user scripts.

I think Eggdrop should be able to look past these tags if present to keep existing binds functioning without requiring any user configuration. Then a new bind similar to RAW, but with IRCv3 information as an extra parameter in the proc, would be useful for custom processing. Could be a string as-is, or an array from the semi-kolon separated data.

Twitch is in my opinion too far from IRC standard to warrant special attention, but generic IRCv3 handling is indeed something worth paying attention to.

CAP tags is indeed what adds this extra stuff while membership is required to receive join/parts from server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.