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

CTCP-S Support #10

Closed
SoniEx2 opened this issue Oct 11, 2015 · 5 comments
Closed

CTCP-S Support #10

SoniEx2 opened this issue Oct 11, 2015 · 5 comments

Comments

@SoniEx2
Copy link

SoniEx2 commented Oct 11, 2015

https://gist.github.com/SoniEx2/6509bf2ca6a65a69a383

The FORWARD CTCP is very useful for bridge bots.

@maxpowa
Copy link
Owner

maxpowa commented Oct 11, 2015

Where is CTCP-S in the official IRC spec, I see nothing in rfc2812. There's something similar called Intents in IRCv3.3, which Inumuta/sopel both already support.

@RX14
Copy link

RX14 commented Oct 11, 2015

Well there isn't ANY ctcp in rfc2812 either...

The issue is here that it's not implemented in clients, so it's kinda pointless to implement.

@maxpowa
Copy link
Owner

maxpowa commented Oct 11, 2015

Well yeah, that's true. Either way, any gap this would fill appears to be filled by IRCv3.3's intents. If clients don't support intents, they get downgraded to CTCP as in the IRCv3.3 spec.

@SoniEx2
Copy link
Author

SoniEx2 commented Oct 11, 2015

IRCv3.3 replacing CTCP is complete BS. Nothing can replace CTCP due to the client-client nature of CTCP. All IRCv3.3 does is add client-server "CTCP".

IRCv3 metadata doesn't replace CTCP because with CTCP:

  • Clients can choose what to reply with based on various factors such as: hostname, IP address, username, nickname, account name, RNG, timer, etc. Or a combination of them.
  • Clients can also send multiple replies to the same request.

And you can't do those with IRCv3 metadata.

Intents don't work either because:

  • Intents apply to the whole message.
  • Intents aren't a method to convey metadata but rather to convey messages.

Message tags don't work either because:

  • The server needs to explicitly support them, thus, they can't possibly replace CTCPs.
  • The client also needs to explicitly request them, and is not allowed to send them without knowing how to handle them.

We can all agree that it's possible to replace CTCP with a server-aided solution, but IRCv3 is not the way to do it, as it doesn't support distinctive features of CTCP.

@maxpowa
Copy link
Owner

maxpowa commented Oct 11, 2015

Inumuta requests tag and intent support by default, and any modern IRC server should support both already. CTCP is bad enough of a system as it is, I don't want to implement something that complicates it more.

To your point about the inability to make multiple replies to the same request, thats pretty easy with tags. @vendor.tag/reply-to=what,ever,you,want

Clients have to implement something either way. I can tell you that it's going to be IRCv3, especially with the contributors involved. Everyone in the modern IRC community is pushing to remove CTCP all together, it's a shitty solution.

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

3 participants