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

IRCv3 support #67

Closed
xKevin04 opened this issue Oct 7, 2020 · 2 comments
Closed

IRCv3 support #67

xKevin04 opened this issue Oct 7, 2020 · 2 comments
Assignees

Comments

@xKevin04
Copy link

xKevin04 commented Oct 7, 2020

IRCv3 introduces features that alter the PRIVMSG structure. So far, I've only noticed labeled responses to interfere: https://ircv3.net/specs/extensions/labeled-response
Networks with IRCv3 support can be found here: https://ircv3.net/support/networks

I'm on tilde.chat myself and modified the workaround by @silv3rr (see #65 (comment)) to work there. So adding this to the top of fish_10.mrc should fix both issues:

on *:PARSELINE:out:*PRIVMSG *:{
  var %matches = $regsub($parseline,/^(?:.*? )?C?PRIVMSG (\S+).*$\n/m,\1,%privmsgtarget)
  if (%matches == 1 && $len($dll(%FiSH_dll,FiSH_GetKey10,$network %privmsgtarget))) > 1) {
    noop $regsubex(pl,$parseline,^(?:.*? )?C?(PRIVMSG \S+)(?: #\S+)?( :.*)$,\1 \2,&pl)
    if ($bvar(&pl,0) > 11) {
      .parseline -ob &pl
    }
  }
}

This essentially just removes all the extra stuff before PRIVMSG prior to sending it, in addition to the CPRIVMSG replacement. May not work on other networks and there could be more features that break functionality in different ways.

@flakes flakes self-assigned this Oct 10, 2020
@flakes
Copy link
Owner

flakes commented Oct 10, 2020

For incoming messages it's already been supported for many years, but apparently not for outgoing ones ...

@flakes
Copy link
Owner

flakes commented Oct 10, 2020

New version released today, including a fix for this issue, please test, and open a new issue if required 😝

@flakes flakes closed this as completed Oct 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants