Advertisement
Shinmera

Untitled

Aug 29th, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package org.tymoonnext.bot.module.misc;
  2.  
  3. import NexT.Commons;
  4. import java.util.logging.Level;
  5. import net.sourceforge.jeval.EvaluationException;
  6. import net.sourceforge.jeval.Evaluator;
  7. import org.tymoonnext.bot.Kizai;
  8. import org.tymoonnext.bot.event.CommandListener;
  9. import org.tymoonnext.bot.event.core.CommandEvent;
  10. import org.tymoonnext.bot.module.Module;
  11. import org.tymoonnext.bot.module.core.ext.CommandModule;
  12.  
  13. /**
  14.  *
  15.  * @author Shinmera
  16.  * @license GPLv3
  17.  * @version 0.0.0
  18.  */
  19. public class Calc extends Module implements CommandListener{
  20.     private Evaluator evaluator = new Evaluator();
  21.  
  22.     public Calc(Kizai bot){
  23.         super(bot);
  24.         CommandModule.register(bot, "calc", "expression".split(" "), "Evaluate mathematical expressions.", this);
  25.     }
  26.    
  27.     @Override
  28.     public void shutdown() {
  29.         bot.unregisterAllCommands(this);
  30.     }
  31.  
  32.     @Override
  33.     public void onCommand(CommandEvent cmd) {
  34.         try{
  35.             cmd.getStream().send("Result: " + evaluator.evaluate(cmd.getArgs()), cmd.getChannel());
  36.         }catch(EvaluationException ex){
  37.             Commons.log.log(Level.WARNING, "Failed to evaluate '"+cmd.getArgs()+"'.", ex);
  38.             cmd.getStream().send("Failed to evaluate: "+ex.getMessage(), cmd.getChannel());
  39.         }
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement