The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Atheme - Perl interface to Atheme's XML-RPC methods

VERSION

version 0.0001

DESCRIPTION

This class provides an interface to the XML-RPC methods of the Atheme IRC Services.

METHODS

These are all either virtual or helper methods. They are being implemented in service-specific classes.

new

Services constructor. Takes a hash as argument: my $svs = new Atheme(url => "http://localhost:8000");

url<string>: URL to Atheme's XML-RPC server.

lang<string>: Language for result strings (en, ...).

validate<boolean>: If 1 then validation should be done in perl already, if 0 then validation is only done in atheme itself. In both cases, atheme validates. If you choose to use the perl validation, you will get more verbose fault messages containing an additional key 'subtype'.

return_dispatch

Handles results from RPC Calls!

Here is the list of fault types and default strings (these are likely to be at least partially overridden by Atheme::*Serv classes.

    fault_needmoreparams = "Insufficient parameters."
    fault_badparams      = "Invalid parameters."
    fault_nosuch_source  = "No such source."
    fault_nosuch_target  = "No such target."
    fault_authfail       = "Authentication failed."
    fault_noprivs        = "Insufficient privileges."
    fault_nosuch_key     = "No such key."
    fault_alreadyexists  = "Item already exists."
    fault_toomany        = "Too many items."
    fault_emailfail      = "Email verification failed."
    fault_notverified    = "Action not verified."
    fault_nochange       = "No change."
    fault_already_authed = "You are already authenticated."
    fault_unimplemented  = "Method not implemented."

call_svs

Method call

login

A common method used to log into the services in order to execute other methods. Every service inherits this, so you can load just Atheme::MemoServ and log in through that.

logout

A common method used to log out and clean up your authcookie. This should be done, but does not have to be done. This method is also inherited and therefore usable in every *Serv.

AUTHORS

Pippijn van Steenhoven <pip88nl@gmail.com> Stephan Jauernick <stephan@stejau.de>