[IRCServices Coding] Coding Modules HOWTO:

Andrew Church achurch at achurch.org
Sun Nov 24 14:36:07 PST 2002


     To be perfectly frank, my position is that you should at least be able
to read the code (and I like to believe that my code is fairly readable) if
you're going to be writing a module, cut-and-paste or not.  Much as I would
have liked to write a full and detailed document on creating modules, and
for that matter a complete Services design document, I simply don't have
that much time on my hands.  The "protocol/unreal" module in particular is
well documented, and should be instructive on how modules are put together;
for "bot"-type modules, look at any of the existing *Serv modules, which
among others should answer your question about adding commands.

     The point about how to compile is a valid one, and I'll look at adding
more information about that into the manual; in the meantime, look at the
Makefile for any of the existing modules and/or read the comments at the
top of modules/Makerules for information.

     As far as the API goes, it's already documented in section 6 of the
manual, in case you missed it.

  --Andrew Church
    achurch at achurch.org
    http://achurch.org/

>*This message was transferred with a trial version of CommuniGate(tm) Pro*
> Hi.
>
>I'm the admin for a tiny RolePlayGaming network and we're currently looking
>into making addon modules for a series of Services Bots that will share the
>load for a Roleplay Service on IRC.
>
>The problem is that none of us are really coders, and we need a lot of help
>getting started. With enormous respect for Andy and his great works on
>producing his wonderful services, his documentation re: modules creation
>leaves much to be desired, and seems to concentrate more on where and how we
>should indent, then on how to compile a new module, and integrate it into
>services.
>
>Simple questions to which we should be able find answers baffle us I'm
>afraid, one such is: Do we add tokens for new commands to the exsiting token
>list in init.c, or is there a way to introduce them within the modules
>without editing existing code?
>
>How do we include a module to the list of modules to be compiled, ie: is
>there a command line for compilation of extra modules like with Apache, or
>do we just drop them into the modules directory and recompile from scratch
>as with UnrealIRCD?
>
>Has anyone written a skeleton module with compilation instructions that we
>could use as a starter?
>Is there a list of APIs that we could call on or must we read the code (Very
>headbreaking for us low IQ, cut & paste coders).
>
>Please don't tell me anything useless like: "If you don't understand the
>code you shouldn't be doing this!" Unless you intend to do the coding for
>us, for free, because suitable, or not; We're all we've got!.
>
>Olly admin at rpglairs.com
>
>
>
>
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.413 / Virus Database: 232 - Release Date: 06/11/2002
>
>
>------------------------------------------------------------------
>To unsubscribe or change your subscription options, visit:
>http://www.ircservices.za.net/mailman/listinfo/ircservices-coding