Opened 11 years ago

Closed 11 years ago

#6025 closed patch (fixed)

IRC: ctcp: unknown command

Reported by: kaedenn Owned by: elb
Milestone: Component: IRC
Version: 2.2.1 Keywords: irc ctcp
Cc:

Description

In the IRC protocol, there appears to be no possible way to send an arbitrary /ctcp message to another client.

This functionality is needed; various services I use have user-defined CTCP messages (such as SOURCE, HOST, et cetera), and I have no clear way to invoke these facilities.

I'm using Pidgin 2.2.1 on Ubuntu 7.10.

EDIT: Apparently there is a way to accomplish this using /quote.

Ticket type changed from "defect" to "enhancement".

-- Kaedenn

Attachments (3)

neosisani.c (3.3 KB) - added by neosisani 11 years ago.
Early version of plugin
diff.tar.gz (1.3 KB) - added by neosisani 11 years ago.
Implementation of ctcp into /libpurple/protocols/irc
patch.diff (2.9 KB) - added by neosisani 11 years ago.
Abovesent tar.gz as a diff file

Download all attachments as: .zip

Change History (16)

comment:1 follow-up: Changed 11 years ago by dandv

Duplicate of #264?

BTW, how would you send /ctcp <nick> time using /quote ?

comment:2 Changed 11 years ago by rekkanoryo

  • Milestone set to Plugin Suggested

CTCP is not something we as pidgin developers are anxious to implement. It can, however, be implemented in a plugin, as I noted in #1776.

comment:3 in reply to: ↑ 1 Changed 11 years ago by elb

Replying to dandv:

BTW, how would you send /ctcp <nick> time using /quote ?

I haven't tried it, but I imagine you can simply do

/msg nick <Ctrl-U>0001time<Ctrl-U>0001

We might filter or mangle those U+0001s, I'm not sure.

comment:4 Changed 11 years ago by kaedenn

Actually, that works, even though I need CTCP SOURCE, rather than CTCP TIME. I assume the same technique would work, though.

Actually, nothing. I got absolutely no response when attempting to replace "time" with "source".

Changed 11 years ago by neosisani

Early version of plugin

comment:5 Changed 11 years ago by neosisani

I've attached a version of plugin. Should be tested.

Also i think that this should be moved to patches welcome, since ctcp is now part of IRC protocol (as specified by http://www.irchelp.org/irchelp/rfc/ctcpspec.html ). Editing protocol file shouldn't be too complicated, especially if we make plugin stable enough and then just merge it into protocol file.

comment:6 follow-up: Changed 11 years ago by elb

CTCP is not at all part of the "IRC protocol", it just happens to have a (very poor and incomplete) specification hosted on irchelp.org.

That said, I do not have a problem with including a ctcp command, I just don't have any interest in doing it myself. I've intended to put something together for years now, simply because it's requested so often, but haven't gotten to it.

comment:7 in reply to: ↑ 6 Changed 11 years ago by kaedenn

I'd be willing to code not only ctcp, but mIRC C-u, C-b and C-k support.

The only problem is that I don't know how to create my own plugins; it's something I've never done before.

Currently I get away with C-M-u to enter the format codes I want. I'd love something less hackish.

It is a dream of mine to have Pidgin be my primary IRC program with the functionality any IRC program would have, including non-standard stuff.

I'll look into programming some of the plugins, to see if it's feasible with my limited knowledge.

Changed 11 years ago by neosisani

Implementation of ctcp into /libpurple/protocols/irc

Changed 11 years ago by neosisani

Abovesent tar.gz as a diff file

comment:8 follow-up: Changed 11 years ago by QuLogic

  • Milestone Plugin Suggested deleted
  • Type changed from enhancement to patch

comment:9 follow-up: Changed 11 years ago by Slydder

so what is that status now? will this be a plugin or merged into the main trunk? leaving it as a patch is pretty crude.

thx, chuck

comment:10 in reply to: ↑ 8 Changed 11 years ago by elb

This latest patch looks good to me. What name and email address should I use for attribution, neosisani?

comment:11 in reply to: ↑ 9 Changed 11 years ago by elb

Replying to Slydder:

so what is that status now? will this be a plugin or merged into the main trunk? leaving it as a patch is pretty crude.

That's a pretty rude thing to say. neosisani provided a plugin of his own accord, for free, for you to use if you like. I told him that if he made it a patch, I would apply it to trunk. You then think it's reasonable to suggest that his providing it as a patch is crude?

Please have some respect for those who contribute to Pidgin. We should thank neosisani for taking the time to implement this.

comment:12 Changed 11 years ago by elb

neosisani's patch was applied as 8a1c165f0ab459826e0911c2dbdc1f20f47c7815.

kaedenn, hopefully this will take care of your need for arbitrary /ctcp commands. :-)

comment:13 Changed 11 years ago by elb

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!