ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/client/alerters/IRC__Alerter.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/client/alerters/IRC__Alerter.java (file contents):
Revision 1.30.2.1 by tdb, Mon Feb 4 00:14:13 2002 UTC vs.
Revision 1.30.2.2 by tdb, Mon Feb 4 23:14:38 2002 UTC

# Line 314 | Line 314 | public class IRC__Alerter extends AlerterSkeleton {
314          
315          public void onMessage(String channel, String sender, String login, String hostname, String message) {
316              if(isForMe(message)) {
317 <                String response = handleInput(message);
318 <                if(response != null) {
319 <                    sendMessage(channel, response);
320 <                }
317 >                handleInput(message, channel);
318              }
319          }
320          
321          public void onPrivateMessage(String sender, String login, String hostname, String message) {
322 <            String response = handleInput(message);
326 <            if(response != null) {
327 <                sendMessage(sender, response);
328 <            }
322 >            handleInput(message, sender);
323          }
324          
325          public void onNickChange(String oldNick, String login, String hostname, String newNick) {
# Line 334 | Line 328 | public class IRC__Alerter extends AlerterSkeleton {
328              }
329          }
330          
331 <        private String handleInput(String message) {
332 <            //return "yup, gotcha!";
331 >        public void onKick(String channel, String kickerNick, String kickerLogin, String kickerHostname, String recipientNick, String reason) {
332 >            if(recipientNick.equals(_nickname) && channel.equals(_channel)) {
333 >                sendMessage(kickerNick, "That wasn't a nice thing to do...");
334 >                try {
335 >                    _channel = ConfigurationProxy.getInstance().getProperty(_name, "Alerter.IRC.channel");
336 >                } catch(PropertyNotFoundException e) {
337 >                    _logger.write(this.toString(), Logger.ERROR, "Configuration error: "+e);
338 >                }
339 >                // should this be in the try?
340 >                joinChannel(_channel);
341 >            }
342 >        }
343 >        
344 >        private void handleInput(String message, String source) {
345 >            System.out.println("message: "+message);
346 >            System.out.println("from: "+source);
347              ConfigurationProxy cp = ConfigurationProxy.getInstance();
348              // setup some String's
349              String stopCommand, startCommand, timeSinceLastAlertCommand, lastAlertCommand, joinCommand;
# Line 356 | Line 364 | public class IRC__Alerter extends AlerterSkeleton {
364                  _logger.write(this.toString(), Logger.ERROR, "Configuration error: "+e);
365                  // lets bail from handling this line...
366                  // ...it's gonna be hard without a command set!
367 <                return null;
367 >                return;
368              }
369              
370 <            if(message.indexOf(stopCommand)!=-1) {
370 >            if(message.indexOf(stopCommand) != -1) {
371                  _active = false;
372 <                return "alerts have been stopped";
372 >                sendMessage(source, "alerts have been stopped");
373              }
374 <            else if(message.indexOf(startCommand)!=-1) {
374 >            else if(message.indexOf(startCommand) != -1) {
375                  _active = true;
376 <                return "alerts have been activated";
376 >                sendMessage(source, "alerts have been activated");
377              }
378              // this needs to go here if it contains the same words as the lastAlertCommand
379 <            else if(message.indexOf(timeSinceLastAlertCommand)!=-1) {
379 >            else if(message.indexOf(timeSinceLastAlertCommand) != -1) {
380                  if(_lastAlertTime != -1) {
381                      long uptime = (System.currentTimeMillis() - _lastAlertTime) / 1000;
382                      String uptimeText = DateUtils.formatTime(uptime, "%DAYS% days, %HOURS% hours, %MINS% mins, and %SECS% secs");
383 <                    return "I last sent an alert "+uptimeText+ " ago";
383 >                    sendMessage(source, "I last sent an alert "+uptimeText+ " ago");
384                  }
385                  else {
386 <                    return "I've never sent an alert!";
386 >                    sendMessage(source, "I've never sent an alert!");
387                  }
388              }
389 <            else if(message.indexOf(lastAlertCommand)!=-1) {
389 >            else if(message.indexOf(lastAlertCommand) != -1) {
390                  if(_lastAlertTime != -1) {
391                      String date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.UK).format(new Date(_lastAlertTime));
392 <                    return "last alert was at "+date+"; "+_lastAlert;
392 >                    sendMessage(source, "last alert was at "+date+"; "+_lastAlert);
393                  }
394                  else {
395 <                    return "I've never sent an alert!";
395 >                    sendMessage(source, "I've never sent an alert!");
396                  }
397                  
398              }
399 <            else if(message.indexOf(joinCommand)!=-1) {
399 >            else if(message.indexOf(joinCommand) != -1) {
400                  String joinCmd = joinCommand;
401                  String newChan = message.substring(message.indexOf(joinCmd) + joinCmd.length() + 1);
402                  int endOfChan = newChan.indexOf(" ");
# Line 397 | Line 405 | public class IRC__Alerter extends AlerterSkeleton {
405                  }
406                  newChan = newChan.substring(0, endOfChan);
407                  if(newChan.equals(_channel)) {
408 <                    return "I'm already on "+newChan+"!";
408 >                    sendMessage(source, "I'm already on "+newChan+"!");
409                  } else {
410                      partChannel(_channel);
411                      joinChannel(newChan);
412                      _channel = newChan;
413 <                    return null; // ???
413 >                    //return null; // ???
414                  }
415              }
416 <            else if(message.indexOf(nickChangeCommand)!=-1) {
416 >            else if(message.indexOf(nickChangeCommand) != -1) {
417                  String nickChangeCmd = nickChangeCommand;
418                  String newNick = message.substring(message.indexOf(nickChangeCmd) + nickChangeCmd.length() + 1);
419                  int endOfNick = newNick.indexOf(" ");
# Line 416 | Line 424 | public class IRC__Alerter extends AlerterSkeleton {
424                  changeNick(newNick);
425                  // should we check this worked?
426                  //_nickname = newNick;
427 <                return null; // ???
427 >                //return null; // ???
428              }
429 <            else if(message.indexOf(versionCommand)!=-1) {
430 <                return "I am version "+REVISION.substring(11, REVISION.length() -2)+" of the i-scream alerting bot";
429 >            else if(message.indexOf(versionCommand) != -1) {
430 >                sendMessage(source, "I am version "+REVISION.substring(11, REVISION.length() -2)+" of the i-scream alerting bot");
431              }
432 <            else if(message.indexOf(helpCommand)!=-1) {
433 <                return "this will return some help text soon";
434 <                /*
435 <                sendPrivMsg(getMsgSender(line), "Hello, I am the i-scream alerting bot version "+REVISION.substring(11, REVISION.length() -2));
436 <                sendPrivMsg(getMsgSender(line), "I understand the following commands;");
437 <                sendPrivMsg(getMsgSender(line), stopCommand);
438 <                sendPrivMsg(getMsgSender(line), startCommand);
439 <                sendPrivMsg(getMsgSender(line), lastAlertCommand);
440 <                sendPrivMsg(getMsgSender(line), joinCommand);
441 <                sendPrivMsg(getMsgSender(line), nickChangeCommand);
442 <                sendPrivMsg(getMsgSender(line), statCommand);
443 <                sendPrivMsg(getMsgSender(line), uptimeCommand);
444 <                sendPrivMsg(getMsgSender(line), timeSinceLastAlertCommand);
445 <                sendPrivMsg(getMsgSender(line), helpCommand);
438 <                */
432 >            else if(message.indexOf(helpCommand) != -1) {
433 >                //System.out.println("--starting help");
434 >                sendMessage(source, "Hello, I am the i-scream alerting bot version "+REVISION.substring(11, REVISION.length() -2));
435 >                sendMessage(source, "I understand the following commands;");
436 >                sendMessage(source, stopCommand);
437 >                sendMessage(source, startCommand);
438 >                sendMessage(source, lastAlertCommand);
439 >                sendMessage(source, joinCommand);
440 >                sendMessage(source, nickChangeCommand);
441 >                sendMessage(source, statCommand);
442 >                sendMessage(source, uptimeCommand);
443 >                sendMessage(source, timeSinceLastAlertCommand);
444 >                sendMessage(source, helpCommand);
445 >                //System.out.println("--ending help");
446              }
447 <            else if(message.indexOf(statCommand)!=-1) {
448 <                return "I have sent a total of "+_alertCount+" alerts, and ignored a total of "+_ignoredCount+"!";
447 >            else if(message.indexOf(statCommand) != -1) {
448 >                sendMessage(source, "I have sent a total of "+_alertCount+" alerts, and ignored a total of "+_ignoredCount+"!");
449              }
450 <            else if(message.indexOf(uptimeCommand)!=-1) {
450 >            else if(message.indexOf(uptimeCommand) != -1) {
451                  long uptime = (System.currentTimeMillis() - _startTime) / 1000;
452                  String uptimeText = DateUtils.formatTime(uptime, "%DAYS% days, %HOURS% hours, %MINS% mins, and %SECS% secs");
453 <                return "I have been running for "+uptimeText;
453 >                sendMessage(source, "I have been running for "+uptimeText);
454              }
455 <            else if(message.indexOf("ping")!=-1) {
456 <                return "pong";
455 >            else if(message.indexOf("ping") != -1) {
456 >                sendMessage(source, "pong");
457              }
458 <            else if(message.indexOf("do a jibble dance")!=-1) {
458 >            else if(message.indexOf("do a jibble dance") != -1) {
459                  // little joke :)
460 <                return "jives to the funky beat shouting \"ii--screeeaaammm\"";
460 >                sendAction(source, "jives to the funky beat shouting \"ii--screeeaaammm\"");
461              }
462              
463              else {
# Line 460 | Line 467 | public class IRC__Alerter extends AlerterSkeleton {
467                  } catch(PropertyNotFoundException e) {
468                      _logger.write(this.toString(), Logger.ERROR, "Configuration error: "+e);
469                  }
470 <                return rejectMessage;
470 >                sendMessage(source, rejectMessage);
471              }
472          }
473          

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines