|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--java.lang.Thread
|
+--irssibot.modules.AbstractModule
|
+--irssibot.modules.ChannelTools
This module has basic functionality for maintaining/protecting IRC channels from privmsg/join/nick flood, clone attacks, massdeops and such.
| Nested Class Summary | |
(package private) class |
ChannelTools.BanHandler
Handles removing bans after a given period. |
(package private) class |
ChannelTools.ChannelJoiner
Joins a given channel when invoked by a Timer. |
| Field Summary | |
private ServerConnection |
caller
|
private boolean |
changed
|
private java.util.Hashtable |
chanvars
This Hashtable contains a ChanVars object for each channel. |
private Host |
host
|
private static java.lang.String |
moduleInfo
|
private java.util.Hashtable |
permbanList
This Hashtable contains Vector objects containing banmasks as String. |
private java.lang.String |
source
|
| Fields inherited from class irssibot.modules.AbstractModule |
|
| Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
ChannelTools()
Default constructor |
|
| Method Summary | |
private boolean |
checkJoinFlood(User user,
Host host,
Channel channel)
Checks for join flood. |
private void |
commandAdd(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Processes add-commands for this module |
private void |
commandBK(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Bans & kicks a user from a given channel. |
private void |
commandDel(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Processes del-commands for this module |
private void |
commandEdit(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Processes edit-commands for this module |
private void |
commandJoin(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Tries to join channel in args[0] with key in args[1] if given. |
private void |
commandK(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Kicks a user from a given channel. |
private void |
commandLeave(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Leaves channel for given amount of seconds. |
private void |
commandList(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Processes list-commands for this module |
private void |
commandMaintain(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Executes Channel.doMaintain() for given channel. |
private void |
commandSay(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Makes bot say something on a channel. |
private void |
doJoin(JoinMessage message)
Handles JOINs. |
private void |
doMode(ModeMessage message)
Handles MODE changes. |
private void |
doPrivmsg(IrcMessage message)
Handles PRIVMSGs. |
private void |
doSelfJoin(Channel channel)
Handles JOINs when the bot itself joins a channel. |
private void |
doUnBan(Host host,
Channel channel,
java.lang.String target)
Handles -b MODEs. |
private void |
enforceHostnameLookup(User user,
Host host,
Channel channel)
Checks that joiner's IP resolves into a hostname. |
java.lang.String |
getModuleInfo()
Returns a module info string |
java.util.Properties |
getState()
Returns state. |
private ChanVars |
getVars(java.lang.String channelName)
Returns channel vars for given channel on the current calling ServerConnection. |
private void |
loadInitialState(java.util.Properties state,
Core core)
|
boolean |
onLoad(java.util.Properties state,
Core core)
Called upon loading the module. |
void |
onUnload()
Called upon unloading the module. |
private void |
processCmdMsg(Host host,
java.lang.String cmd,
Channel channel,
java.lang.String[] args)
Process command message. |
protected void |
processMessage(IrcMessage message,
ServerConnection serverConnection)
Processes incoming IrcMessages from a ServerConnection. |
private void |
write(java.lang.String message)
Sends a PRIVMSG to source (channel/user). |
| Methods inherited from class irssibot.modules.AbstractModule |
addMessage, killModule, run |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private static java.lang.String moduleInfo
private java.util.Hashtable permbanList
private java.util.Hashtable chanvars
private boolean changed
private Host host
private java.lang.String source
private ServerConnection caller
| Constructor Detail |
public ChannelTools()
| Method Detail |
private ChanVars getVars(java.lang.String channelName)
ServerConnection.
channelName - name of channel to retrieve chanvars for
public java.util.Properties getState()
getState in class AbstractModule
private void loadInitialState(java.util.Properties state,
Core core)
public java.lang.String getModuleInfo()
getModuleInfo in class AbstractModule
public boolean onLoad(java.util.Properties state,
Core core)
@param state initial module state
onLoad in class AbstractModulecore - reference to corestate - the initial state of module as an Properties object, or
null if no state was saved for module.
Corepublic void onUnload()
onUnload in class AbstractModule
private void commandK(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandBK(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandAdd(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandDel(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandList(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandEdit(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandJoin(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandSay(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandMaintain(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
Channel.doMaintain() for given channel.a
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void commandLeave(Host host,
User invoker,
java.lang.String[] args,
Channel channel)
host - Host of invokerinvoker - User object of invokerargs - command argumentschannel - Channel where command takes place
private void processCmdMsg(Host host,
java.lang.String cmd,
Channel channel,
java.lang.String[] args)
channel - valid channel name
private void doUnBan(Host host,
Channel channel,
java.lang.String target)
host - Host of the unbannerchannel - Channel on which the mode was settarget - unbanned hostmaskprivate void doMode(ModeMessage message)
message - the mode messageprivate void doSelfJoin(Channel channel)
channel - the Channel bot joins on
private void enforceHostnameLookup(User user,
Host host,
Channel channel)
user - the joiner as user, or null if not user.host - host of the joinerchannel - channel that was joined
private boolean checkJoinFlood(User user,
Host host,
Channel channel)
user - the joiner as user, or null if not user.host - host of the joinerchannel - channel that was joined
private void doJoin(JoinMessage message)
message - the join messageprivate void doPrivmsg(IrcMessage message)
message - PRIVMSG IrcMessage to process
protected void processMessage(IrcMessage message,
ServerConnection serverConnection)
processMessage in class AbstractModulemessage - IrcMessage to processserverConnection - invoking ServerConnectionprivate void write(java.lang.String message)
message - message to send
java.lang.IllegalStateException - thrown if source param was null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||