org.elite.jdcbot.examples
Class ExampleBot

java.lang.Object
  extended by org.elite.jdcbot.framework.DCIO
      extended by org.elite.jdcbot.framework.InputThreadTarget
          extended by org.elite.jdcbot.framework.jDCBot
              extended by org.elite.jdcbot.examples.ExampleBot

public class ExampleBot
extends jDCBot

ExampleBot is simple derived class from jDCBot apstract class overriding some methods. ExampleBot is example and start point for developing your bot. It shows how to overrides jDCBot methods and implements simple TimerThread which adds onTimer method.

Upon connecting, it will announce everyone on hub that it is present On private message, it will tell that it doesn't understand a word. Has +calc command on main chat that shows how to use WebPageFetcher and GoogleCalculation And will flood main chat every 10 min. showing how to use TimerThread class

Since:
0.5
Version:
0.7
Author:
Kokanovic Branko, Milos Grbic, AppleGrew

Field Summary
private  StaticCommands static_cmds
           
private  TimerThread tt
           
 
Fields inherited from class org.elite.jdcbot.framework.jDCBot
_botname, _conn_type, _description, _email, _hubname, _ip, _passive, _password, _port, _sharesize, downloadManager, log, shareManager, socket, socketServer, um, uploadManager, VERSION
 
Constructor Summary
ExampleBot()
           
 
Method Summary
static void main(java.lang.String[] args)
           
 void onConnect()
          Prints on main chat that we are here and starts flood thread.
 void onDisconnect()
          Called upon disconnecting from hub.
 void onPrivateMessage(java.lang.String user, java.lang.String message)
          Sends user who wants to talk to us a feedback that we're (still) stupid.
 void onPublicMessage(java.lang.String user, java.lang.String message)
          Simple example how to use GoogleCalculation and static commands from database.
 
Methods inherited from class org.elite.jdcbot.framework.jDCBot
botname, connect, GetAllUsers, getBotClientProtoSupports, getBotHubProtoSupports, getDispatchThread, getMaxDownloadSlots, getMaxUploadSlots, GetRandomUser, getShareManager, getUser, getUserManager, handleCommand, hubname, initConnectToMe, isBotClientProtoSupports, isBotHubProtoSupports, isConnected, isHubSupports, isOp, isPassive, KickUser, KickUser, onActiveSearch, onBotQuit, onChannelMessage, onConnect2Client, onDownloadComplete, onJoin, onPassiveSearch, onQuit, onUpdateMyInfo, onUploadComplete, onUploadStart, quit, SendActiveSearchReturn, SendAll, SendCommand, SendPassiveSearchReturn, SendPrivateMessage, SendPublicMessage, setMaxDownloadSlots, setMaxUploadSlots, setShareManager, terminate, UserExist
 
Methods inherited from class org.elite.jdcbot.framework.DCIO
parseCmdArgs, parseCmdName, parseRawCmd, ReadCommand, ReadCommand, SendCommand, SendCommand, set_IOExceptionMsg
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tt

private TimerThread tt

static_cmds

private StaticCommands static_cmds
Constructor Detail

ExampleBot

public ExampleBot()
Method Detail

onConnect

public void onConnect()
Prints on main chat that we are here and starts flood thread.

Overrides:
onConnect in class jDCBot

onPublicMessage

public void onPublicMessage(java.lang.String user,
                            java.lang.String message)
Simple example how to use GoogleCalculation and static commands from database. Bot will only detect two commands on main chat: +help (from database, StaticCommands class) and +calc (in form of e.g. '+calc 1+2*3', GoogleCalculation class)

Overrides:
onPublicMessage in class jDCBot
Parameters:
user - User who sent message.
message - Contents of the message.

onPrivateMessage

public void onPrivateMessage(java.lang.String user,
                             java.lang.String message)
Sends user who wants to talk to us a feedback that we're (still) stupid.

Overrides:
onPrivateMessage in class jDCBot
Parameters:
user - Name of user who sent us private message.
message - Contents of private message.

onDisconnect

public void onDisconnect()
Description copied from class: jDCBot
Called upon disconnecting from hub.

The implementation of this method in the jDCBot abstract class resets the _inputThread to null hence when overridden super.onDisconnect() must be called first.

Overrides:
onDisconnect in class jDCBot

main

public static void main(java.lang.String[] args)