2010/12/10 Giftpflanze <m.p.ropp...@web.de>

>
> > Gahhh, this list. Nobody suggested just using Python's Twisted?[1] So
> > much easier than trying to write your own script in Python using
> > sockets and manual pongs and all that jazz.
>
I'm going to drag as deep as I can into http://krondo.com/?p=1209. Thanks
for suggestion. This will help me into the second step: and now that I have
my clean parsed #irc message... how can I use it for my tasks, sometimes
simple, sometimes far from simple, while listening for other messages? I'd
try a DIY (do it yourself)  way... but I guess that it's not so an exotic
problem, nad that's much better to study a little bit.



> Here’s my RE that parses the RC IRC message in all aspects I know of:
>
> The first line splits the server line into the actual IRC message and
> the channel (i.e. wiki) it is coming from. The sending nick is ignored
> since noone is allowed to talk at all and because it may change.
>
> The second splits the message into its 6 constituent parts. That works
> for every single line at the moment (sometimes a detail changes and we
> are left with a mess), be it even a log entry and not an ordinary edit,
> because the surrounding markup is present at every line. Sometimes the
> message is too long for the IRC format (which allows for 512 bytes
> including the final \r\n), so beware of cut off lines.
>
> The REs are in the re_syntax(n) Tcl-style format (since this is taken
> from my MediaWiki Tcl Library [~gifti/bot/irc.tcl]) but can easily be
> adopted to other languages I assume. I use \003 and \002 instead of
> direct ASCII for better readability and transportability. Consider that
> the color codes are sometimes with leading zeros, sometimes not.
>
> regexp {:[^ ]+ PRIVMSG #([^ ]+) :(.*?)} $line -> channel message
>
> regexp {\00314\[\[\00307(.*)\00314\]\]\0034 (.*)\00310 \00302(.*)\003
> \0035\*\003 \00303(.*)\003 \0035\*\003 \(*\002*\+*([^)]*)\002*\)*
> \00310(.*?)\003*} $message -> title action url user bytes comment


VERY interesting, thank you!

Alex
_______________________________________________
Toolserver-l mailing list (Toolserver-l@lists.wikimedia.org)
https://lists.wikimedia.org/mailman/listinfo/toolserver-l
Posting guidelines for this list: 
https://wiki.toolserver.org/view/Mailing_list_etiquette

Reply via email to