You are not logged in Log in Join
You are here: Home » Members » TheJester » The Stupidest Zope Product Ever Written » dc_view

Log in
Name

Password

 
 


Dublin Core Elements

The Dublin Core metadata element set is a standard for cross-domain information resource description.
Element Description Value
Identifier resource ID http://old.zope.org/Members/TheJester/IrcBot
Title resource name The Stupidest Zope Product Ever Written
Description resource summary IrcBot for Zope The Stupidest Zope Product Ever Written. WARNING: This product interacts dangerously with your live Zope ZODB, if you want to install and run this product you are completely crazy. If you've ever had a corrupted Data.fs file, then you know the possible pain you could be letting yourself in for. OK, upward, and onward. I have no idea if this will work under Windows, I seriously doubt it, don't bug me about making it work under windows if it doesn't. This is an IRC bot that is managed from Zope, and includes a mini-irc client in it that uses Javascript (I didn't spend too much time on this, its more of a proof of concept), to update things like user lists and the channel data. Also some of the framing is hosed :-) needs a bit of a tidy up, but, you use this to "Auth" users to the system, which is to assign them a user level, and allows them to interact with other plugins. Features are added to the bot via the Plugin system that's available, there are several plugins supplied by default that illustrate different things, most of them allow you to run multiple copies of them if you want to do slightly different things. o Log Plugin Logs various channel events, to a Zope structure, and creates searchable logs if you have a ZQuadSex indexer installed. o Op Plugin Shows parsing join info and message information o Faq Plugin Logs questions and answers to a database for later searching via IRC o Fortune Plugin Not really specifically for fortune, executes a command and returns the output back to IRC. Caches the output and prevents multiple calls within a user definable timeframe. Could just as easily be used to ping a site or anything else. o User Info Plugin A simple plugin that lets you set attributes on 'Authorised' users and play them back. Authorised users can /dcc send files to the bot, and they will be stored in the User's Home Folder, they can fetch them later via http. DCC uploads are handled asychronously so they don't lock the bot up. The IrcUser class could be extended possibly with a Membership product to create a mini-portal where people can store and retrieve files, and display stuff from the UserInfo plugin. Basically I wanted to find out how to get 'live' action happening with Zope, and an IRC Bot is something that can get hammered by others to cause the transaction machinery to fail for me. I didn't want to go via ZEO. There is an IrcRegistry created in the Root Folder. This is how the bot communicates with the IrcChannel you create. If you run into problems, you can delete the IrcChannel (which force quits the bot), and the delete the IrcRegistry which will prevent it from starting. You can then delete the product from lib/python/Products and you should be ok. Known bad things: ----------------- The Registry uses the 'id' of the IrcChannel you create, which isn't guaranteed to be unique, we should use absolutePath to create a key that both parties know and can use -- pretty trivial to fix. Some of the interactions with ZODB don't quite work, there's a problem in particular with the Log Plugin, when it creates a new Days' Log. Restarting Zope if this happens cures all ills -- (some transaction gets committed or something), there shouldn't be any Conflict Errors left, but, with threads and networking who can tell reliably d8) There is a global event lock, so running more than one bot at once probably won't work the way you want it to, also pretty simple to fix. It doesn't detect when it gets disconnected from the server, (although adding a hook for the disconnection numerics is trivial to add, I'm just not that interested in going overboard). Some of the plugins could do with more management interface cleanup.
Creator resource creator TheJester
Date default date 2001-04-30 08:25:47
Format resource format text/html
Type resource type Software Package
Subject resource keywords Content Object, Examples, External Access, Server
Contributors resource collaborators
Language resource language
Publisher resource publisher No publisher
Rights resource copyright


Additional Zope Elements

Element Description Value
CreationDate date resource created 2001-04-30 08:25:47
ModificationDate date resource last modified 2001-04-30 08:25:47
EffectiveDate date resource becomes effective None
ExpirationDate date resource expires None

Backlinks: via Google / Technorati