Пример #1
0
 public Factoid(ModuleHandler moduleHandler) {
   // Load up all existing factoids from sql
   try {
     sqlHandler = SQLHandler.getSQLHandler();
     List<Object[]> rows =
         sqlHandler.select(
             "SELECT `type`, `trigger`, `reply`, `author`, `channel`  FROM "
                 + FACTOID_TABLE
                 + ";");
     for (Object[] row : rows) {
       boolean message = row[0].equals("message");
       factoids.add(
           new FactoidItem(
               message, (String) row[1], (String) row[2], (String) row[3], (String) row[4]));
     }
     moduleHandler.addTriggerListener(TRIGGER_MAIN, this);
     moduleHandler.addTriggerListener(TRIGGER_ADD, this);
     moduleHandler.addTriggerListener(TRIGGER_DEL, this);
     moduleHandler.addTriggerListener(TRIGGER_RANDOM, this);
     moduleHandler.addTriggerListener(TRIGGER_FOR, this);
     moduleHandler.addMessageListener(this);
     moduleHandler.registerHelp(
         TRIGGER_HELP,
         "Factoid: Make me say or do \"reply\" when someone says \"trigger\".\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER_ADD
             + " trigger <say> reply\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER_ADD
             + " trigger <do> something\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER_DEL
             + " trigger\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER_MAIN
             + " trigger      - show information about a factoid\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER_RANDOM
             + "        - trigger a random factoid\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER_FOR
             + " <expression> - show what factoid, if any, that is "
             + "triggered by that expression\n"
             + " - The string \"$sender\" will be replaced with the nick of the one triggering the factoid.\n"
             + " - A star (*) can be any string of characters.\n"
             + " - Regex can be used, but remember that * is replaced with .*");
     bot = Grouphug.getInstance();
   } catch (SQLUnavailableException ex) {
     System.err.println("Factoid startup: SQL is unavailable!");
   } catch (SQLException e) {
     System.err.println("Factoid startup: SQL Exception: " + e);
   }
 }
Пример #2
0
 public Tell(ModuleHandler moduleHandler) {
   if (SQL.isAvailable()) {
     bot = Grouphug.getInstance();
     moduleHandler.addTriggerListener(TRIGGER, this);
     moduleHandler.addJoinListener(this);
     moduleHandler.addNickChangeListener(this);
     moduleHandler.addMessageListener(this);
     moduleHandler.registerHelp(
         TRIGGER_HELP,
         "Tell: Tell something to someone who's not here when they eventually join\n"
             + "  "
             + Grouphug.MAIN_TRIGGER
             + TRIGGER
             + "<nick> <message>\n");
   } else {
     System.err.println("Tell module disabled: SQL is unavailable.");
   }
 }