federating
root of all actors, all modules to be used within this bot have to inherit from this (abstract) class.
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.
- 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
Bruno BÖTTCHER <bboett at adlp.org>
Copyright (c) 2002 Bruno Boettcher
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/,