import org.jibble.pircbot.*;import java.util.*;import java.io.*; public class MyBot extends PircBot { Map rsname = new HashMap(); public MyBot() { this.setName("rsbot-Ves"); sendMessage("nickserv", "identify"); } public void onInvite(String targetNick, String sourceNick, String sourceLogin, String sourceHostname, String channel) { if (sourceNick.equalsIgnoreCase("Vesuvius27")) { joinChannel(channel); } } public void onJoin(String channel, String sender, String login, String hostname) { if (sender.equalsIgnoreCase(getNick())) { sendMessage(channel, "Sup Guys"); } else if (sender.equalsIgnoreCase("Vesuvius27")) { sendAction(channel, "praises his creator"); } else{sendMessage(channel, "Welcome " + sender + " to " + channel.substring(1) + " IRC"); } } private void writeNames() { try { FileOutputStream rsnamefos = new FileOutputStream("rsnamefos.tmp"); ObjectOutputStream rsnameoos = new ObjectOutputStream(rsnamefos); rsnameoos.close(); } catch (FileNotFoundException e) { System.err.println("FileNotFoundException"); } catch (IOException e) { System.out.println("IOException"); } } public void onMessage(String channel, String sender, String login, String hostname, String message) { if (message.equals("!help")) { sendMessage(channel, "Sending you help via msg"); sendMessage(sender, "!linkme Stats Graph"); sendMessage(sender, "!remembername Stores the RSN for an IRC nick"); } if (message.startsWith("!remembername")) { rsname.put(sender,message.substring(14)); sendMessage(channel, "Associating RSN " + message.substring(14) + " with nick " + sender); call writeNames; rsnameoos.writeObject(rsname); } if (message.startsWith("!linkme")) { if (message.length() < 8) { String realname = (String) rsname.get(sender); if (realname == (null)) { realname = sender; } sendMessage(channel, "http://guilds.sinthos-soft.com/rs/stats/rs_levels.php?user=" + realname); } else {sendMessage(channel, "http://guilds.sinthos-soft.com/rs/stats/rs_levels.php?user=" + message.substring(8)); } } } }