[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Circe-help] Re: nickserv on freenode
From: |
John J Foerch |
Subject: |
[Circe-help] Re: nickserv on freenode |
Date: |
Mon, 05 Jan 2009 13:30:48 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
> Hello,
> And thanks for your report.
>
>> (setq circe-nickserv-alist
>> '(("irc.freenode.net"
>> "NickServ" "NickServ" "services."
>> "\C-b/msg\\s-NickServ\\s-identify\\s-<password>\C-b"
>> "PRIVMSG NickServ :IDENTIFY %s")))
>>
>> (setq circe-nickserv-passwords
>> `(("irc.freenode.net" "not-tellin")))
>
> The main changes here are that you change the network name to
> "irc.freenode.net" and add \C-b to the beginning and end of the
> regex - do I see that right?
>
> The change of the network name is necessary if you always use M-x
> circe to connect to the network; if you use (circe ...) with the
> correct network argument, it works as is (which is the recommended
> way). I guess it might be a good idea to have the host name as the
> network name, at least for freenode. Hm.
>
It is easy enough for me to write commands for each of the networks I
use---that's what I did with erc. But it remains a troubling
inconsistency for circe-nickserv to depend on a piece of information
that is not always present.
In a perfect world you could reliably derive network name from host
name, or even query the network name from the network itself. (maybe
possible?)
But in an imperfect world, I can think of two ways to resolve the
inconsistency:
1) a separate mapping of hosts to network names that can be used when
no network name is available.
2) key circe-nickserv-alist by regexps that match hosts instead of
string literals that match network names.
I think Option 2 is the more attractive, but going that way, you lose
the ability to use assoc for a quick lookup in circe-nickserv-alist.
> As for the regexp, Circe uses `string-match' of the regexp on the
> privmsg, so it shouldn't matter whether you include the C-b there.
> The regexp also works for me on freenode.
Circe's default regexp:
"/msg\\s-NickServ\\s-\C-bIDENTIFY\C-b\\s-<password>" has the C-b's
around just the word IDENTIFY. But when freenode's nickserv queries me,
"identify" is lower case, and the C-b's are around the entire /msg
example command.
Hope this helps
--
John Foerch