Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.Random;
- import jerklib.*;
- import jerklib.events.*;
- import jerklib.events.IRCEvent.*;
- import jerklib.listeners.*;
- public class Main implements IRCEventListener {
- private ConnectionManager con;
- private ArrayList<String> allowed_users;
- private ArrayList<String> afk_users;
- public Main() {
- con = new ConnectionManager(new Profile("TinkernutBot"));
- con.requestConnection("irc.geekshed.net").addIRCEventListener(this);
- allowed_users = new ArrayList<String>();
- allowed_users.add("SBSTP");
- afk_users = new ArrayList<String>();
- }
- public void receiveEvent(IRCEvent e) {
- // When sucessfully connected to irc
- if (e.getType() == Type.CONNECT_COMPLETE) {
- e.getSession().join("#tinkernut");
- // Join tinkernut channel
- } else if (e.getType() == Type.JOIN) {
- JoinEvent je = (JoinEvent) e;
- je.getChannel().say("Welcome, " + je.getNick());
- // Handle commands
- } else if (e.getType() == Type.CHANNEL_MESSAGE) {
- MessageEvent me = (MessageEvent) e;
- Channel ch = me.getChannel();
- String msg = me.getMessage();
- // high lvl commands
- if (isUserAllowed(me.getNick())) {
- if (msg.startsWith("-say ")) {
- ch.say(msg.substring(5));
- } else if (msg.equals("-quit")) {
- con.quit();
- } else if (msg.startsWith("-add ")) {
- allowed_users.add(msg.substring(5));
- ch.say("User " + msg.substring(5) + " was added!");
- } else if (msg.startsWith("-rem ")) {
- allowed_users.remove(msg.substring(5));
- ch.say("User " + msg.substring(5) + " was removed!");
- } else if (msg.equals("-list")) {
- ch.say("There are " + ch.getNicks().size() + " users online!");
- } else if (msg.equals("-controls")) {
- StringBuilder strb = new StringBuilder();
- for (String user : allowed_users) {
- strb.append(user);
- strb.append(" ");
- }
- ch.say(strb.toString());
- }
- }
- // low lvl commands
- if (msg.equals("-roll")) {
- ch.say("" + (new Random().nextInt(100) + 1));
- } else if (msg.equals("-time")) {
- SimpleDateFormat formatter = new SimpleDateFormat("K:mm:ss a, z");
- ch.say(formatter.format(new Date()));
- } else if (msg.equals("-afk")) {
- if (!isUserAfk(me.getNick())) {
- afk_users.add(me.getNick());
- ch.say(me.getNick() + " is now afk.");
- }
- } else if (msg.equals("-back")) {
- if (isUserAfk(me.getNick())) {
- afk_users.remove(me.getNick());
- ch.say(me.getNick() + " is now back.");
- }
- }
- for (String user : afk_users) {
- if (msg.toLowerCase().contains(user.toLowerCase())) {
- ch.say("The user " + user + " is currently afk.");
- }
- }
- }
- }
- private boolean isUserAllowed(String nick) {
- nick = nick.toLowerCase();
- for (String n : allowed_users) {
- n = n.toLowerCase();
- if (n.equals(nick))
- return true;
- }
- return false;
- }
- private boolean isUserAfk(String nick) {
- nick = nick.toLowerCase();
- for (String n: afk_users) {
- n = n.toLowerCase();
- if (n.equals(nick))
- return true;
- }
- return false;
- }
- public static void main(String[] args) {
- new Main();
- }
- }
Add Comment
Please, Sign In to add comment