Guest User

Untitled

a guest
May 20th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.17 KB | None | 0 0
  1. import java.text.SimpleDateFormat;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.Random;
  5.  
  6. import jerklib.*;
  7. import jerklib.events.*;
  8. import jerklib.events.IRCEvent.*;
  9. import jerklib.listeners.*;
  10.  
  11. public class Main implements IRCEventListener {
  12.    
  13.     private ConnectionManager con;
  14.     private ArrayList<String> allowed_users;
  15.     private ArrayList<String> afk_users;
  16.    
  17.     public Main() {
  18.         con = new ConnectionManager(new Profile("TinkernutBot"));
  19.         con.requestConnection("irc.geekshed.net").addIRCEventListener(this);
  20.         allowed_users = new ArrayList<String>();
  21.         allowed_users.add("SBSTP");
  22.         afk_users = new ArrayList<String>();
  23.     }
  24.  
  25.     public void receiveEvent(IRCEvent e) {
  26.         // When sucessfully connected to irc
  27.         if (e.getType() == Type.CONNECT_COMPLETE) {
  28.             e.getSession().join("#tinkernut");
  29.         // Join tinkernut channel
  30.         } else if (e.getType() == Type.JOIN) {
  31.             JoinEvent je = (JoinEvent) e;
  32.             je.getChannel().say("Welcome, " + je.getNick());
  33.         // Handle commands
  34.         } else if (e.getType() == Type.CHANNEL_MESSAGE) {
  35.             MessageEvent me = (MessageEvent) e;
  36.             Channel ch = me.getChannel();
  37.             String msg = me.getMessage();
  38.             // high lvl commands
  39.             if (isUserAllowed(me.getNick())) {
  40.                 if (msg.startsWith("-say ")) {
  41.                     ch.say(msg.substring(5));
  42.                 } else if (msg.equals("-quit")) {
  43.                     con.quit();
  44.                 } else if (msg.startsWith("-add ")) {
  45.                     allowed_users.add(msg.substring(5));
  46.                     ch.say("User " + msg.substring(5) + " was added!");
  47.                 } else if (msg.startsWith("-rem ")) {
  48.                     allowed_users.remove(msg.substring(5));
  49.                     ch.say("User " + msg.substring(5) + " was removed!");
  50.                 } else if (msg.equals("-list")) {
  51.                     ch.say("There are " + ch.getNicks().size() + " users online!");
  52.                 } else if (msg.equals("-controls")) {
  53.                     StringBuilder strb = new StringBuilder();
  54.                     for (String user : allowed_users) {
  55.                         strb.append(user);
  56.                         strb.append(" ");
  57.                     }
  58.                     ch.say(strb.toString());
  59.                 }
  60.             }
  61.             // low lvl commands
  62.             if (msg.equals("-roll")) {
  63.                 ch.say("" + (new Random().nextInt(100) + 1));
  64.             } else if (msg.equals("-time")) {
  65.                 SimpleDateFormat formatter = new SimpleDateFormat("K:mm:ss a, z");
  66.                 ch.say(formatter.format(new Date()));
  67.             } else if (msg.equals("-afk")) {
  68.                 if (!isUserAfk(me.getNick())) {
  69.                     afk_users.add(me.getNick());
  70.                     ch.say(me.getNick() + " is now afk.");
  71.                 }
  72.             } else if (msg.equals("-back")) {
  73.                 if (isUserAfk(me.getNick())) {
  74.                     afk_users.remove(me.getNick());
  75.                     ch.say(me.getNick() + " is now back.");
  76.                 }
  77.             }
  78.             for (String user : afk_users) {
  79.                 if (msg.toLowerCase().contains(user.toLowerCase())) {
  80.                     ch.say("The user " + user + " is currently afk.");
  81.                 }
  82.             }
  83.         }
  84.     }
  85.    
  86.     private boolean isUserAllowed(String nick) {
  87.         nick = nick.toLowerCase();
  88.         for (String n : allowed_users) {
  89.             n = n.toLowerCase();
  90.             if (n.equals(nick))
  91.                 return true;
  92.         }
  93.         return false;
  94.     }
  95.    
  96.     private boolean isUserAfk(String nick) {
  97.         nick = nick.toLowerCase();
  98.         for (String n: afk_users) {
  99.             n = n.toLowerCase();
  100.             if (n.equals(nick))
  101.                 return true;
  102.         }
  103.         return false;
  104.     }
  105.    
  106.     public static void main(String[] args) {
  107.         new Main();
  108.     }
  109. }
Add Comment
Please, Sign In to add comment