NAME

federating


DESCRIPTION

root of all actors, all modules to be used within this bot have to inherit from this (abstract) class.


LICENCE

  baseactor is free software; you can redistribute it and/or
  modify it under the terms of the GNU General Public License
  as published by the Free Software Foundation; version 2
  of the License.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.


Methods of this class

init
initialisation of the baseactor

setArgument
in the modules files there were evenutally some switches for this module, ovverride this one to get a grip on them and to parse them, they come in raw, as a result of the split of the lines in the actors.conf

activeForThisChan
check if we are active for this chan, return true if we are false otherwise special case the private channel to the bot is allways open

CONNaction
the bot managed to connect to some server

PINGaction
keep alive event to test the connection with the server

PONGaction
coutner part of the ping action

MODEaction
some user changed modes for some other user

NOTICEaction
some notice was issued on a channel

PUBLICaction
a message was sent onto a public channel

PRIVMSGaction
a private message was detected

KICKaction
some nasty kicking is happening

PARTaction
some user left the realm of this bot

JOINaction
some user joined the realm of this bot

shutdown
close down operations i sight of bot shutdown r reload of these modules

isa
issue the type of this object

version
issue the version of this module

post
post a message as private message directed to a target (channel or user)

dccChat
post a message as private message directed to a target through DCC

part
leave a channel

quit
leave this server

raw
print out a raw string wihtout trying to interpret it

action
some action /emote was issued

kick
remove a user from a channel

mode
modechane event

DCCget
intermediary success of a running transfer

DCCchat
Dcc chat incoming

DCCdone
success of a dcc transfer

DCCerror
# failure of a dcc transfer

DCCrequest
proposal of a DCC transfer

uncatched
all the rest

help
help accessor

_start
This gets executed as soon as the kernel sets up this session.

_stop
This gets executed as soon as the kernel stops this session.

_default
the stuff that couldn't be identifyed

_define_constructor
construcor builder taken from ObjectTemplate

irc_ctcp_action
react on a CTCP action command

addChannel
add a channel to which this object should react

rmChannel
remove a channel to which this object did react

debug
issue debugginh messages to the console

$this->print
delegator, to make a copy of the console stream to a file, for debugging purposes only, since somehow the STDOUT gets swallowed up for some cases....

saveToFile
save the given string to the given file, first arg is filename, second the content to save

save
save the datastructures if needed, preparation of a shutdown, or a saveguard point...

isOwnerOrOper
this test is done an awful amount of times, and is ugly to look at... its tested if there are some access rights fr that user, and if they correspond to either owner or operator status

join_success
we managed to join safely a channel

setting
setter/getter for the settings, to be able to choose any format for those settings without disturbing the rest of the program... when getting it tries the local hash first, if it matches that value is returned, if not the call is propagaed to the mainframe. On set it is checked if that setting exists globally, if yes its propagated, if not its set locally, BEWARE this means you can't set new settings on the mainframe through this method!

session
some of those modules have an own session running, this conflicts eventually with some modus operandi, thus in case you run a session in a module give it the name $this->{``alias''}, this name will be returned here as possible target for posts, one method that will definitely use this is the shutdown call


AUTHOR

Bruno BÖTTCHER <bboett at adlp.org>

Copyright (c) 2002 Bruno Boettcher


SEE ALSO

zebot home page http://www.freesoftware.fsf.org/zebot/ Net::IRC, RFC 1459, http://www.irchelp.org/, http://poe.perl.org/ http://www.cs.cmu.edu/~lenzo/perl/, http://www.infobot.org/,