[Twisted-Python] Another IRC patch.
screwtape at froup.com
screwtape at froup.com
Sat Nov 2 14:42:07 MST 2002
On Sat, Nov 02, 2002 at 10:57:17AM -0600, Glyph Lefkowitz wrote:
> On Sat, 2 Nov 2002 23:19:18 +1100, screwtape at froup.com wrote:
>
> > While developing my twisted.im bot (new this week! database access and an
> > infobot-style plugin!) I've come up against two seperate annoyances. This
> > patch fixes both of them.
>
> Glad you're making progress! I'm sorry that twisted.im is annoying you :-(.
> Hopefully I can give some guidance as to how it's _supposed_ to work...
Oh, neat.
To be truthful, most of it is pretty nifty. :)
I'd be interested to see if my bot also works with AIM and
twisted.words, though - I don't have an account with either so I can't
test... is anyone working on a Jabber protocol for Twisted? :)
> > Number 1: the IRC protocol defines (among other things) two message types -
> > privmsg and notice. They are identical in every respect except that a notice
> > must not be automatically replied to.
>
> Except when they should be automatically replied to. Such as the notice that
> NickServ gives you upon login, or one of the various notices that older
> spambots will generate in response to a VERSION directive.
Oh. That's a right pain, that is.
> This is one of the worse excresences of the IRC protocol and I'd like to not
> see promoted to the higher levels of abstractions in twisted.im. What you're
> semantically communicating is metadata about the message ("please don't
> autorespond to this (unless you really want to)") and not a wholly different
> type of message. So I've committed a different fix :-). The "metadata"
> dictionary passesd to showMessage and showGroupMessage is designed to
> encapsulate this sort of protocol-specific need, so IRC "notice" messages will
> have an entry in the metadata dictionary of {"dontAutoRespond": 1}.
>
> I just committed a fix that does this... if you're using CVS, your bot can now
> check for that flag in the metadata dict and drop the message on the floor
> appropriately.
Heh. I was going to post 'how about I just dump it in the metadata
dict' and look into writing a patch later today. Thanks!
> For t.im's default use case (end-user chat application) whether or not robots
> should automatically respond to a certain type of message is completely
> irrelevant to its display.
Indeed
> > Number 2: [ ... ] twisted.im.ircsupport by default prints an error
> > message for each unknown command it recieves. Slashnet in
> > particular seems to like to send a lot of them, and it clutters up
> > my screen. This patch simply comments out the print statement and
> > adds a 'pass'.
>
> Hmm... that behavior should at least be customizeable with a flag...
> I personally have used that console output a number of times, and it
> has been invaluable in debugging certain things in twisted.im on
> various occasions.
When I was doing IRC-specific things, I too have found it incredibly
useful. But, being unconcerned with low-level details of the protocol
at the moment, I find it annoying.
> If you don't want the output going to the
> console, there should be a separate log. Perhaps you could
> specifically ignore the slashnet message types you don't want?
My theory was that if a developer wanted that level of detail from
ircsupport.py, they could just go and uncomment the print statement.
:/
--
___________ ____________________________
| Screwtape | Reply-To: munged on Usenet |________ ______ ____ __ _ _ _
|
| <Nibbles> DO NOT GET ME A HERRING!
|
More information about the Twisted-Python
mailing list