rendered paste body 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 <RSN - Optional> Stats Graph");
sendMessage(sender, "!remembername <RSN> Stores the RSN for an IRC nick");
sendMessage(sender, "!hiscore <rsn - optional> <skill> Hiscores");
sendMessage(sender, "!price <item> Price Lookup");
sendMessage(sender, "!w <word> dictionary reference to the word");
sendMessage(sender, "!urban <word> Urban dictionary reference to the word.");
sendMessage(sender, "!xp <user - optional> <skill> <goal level - optional> Calculates ways to get to the goal level (or next level) in the skill.");
}
if (message.startsWith("!rsname")) {
String[] rsnameSplit = message.split(" ");
sendMessage(channel, rsnameSplit[1] + " - " + (String) rsname.get(rsnameSplit[1]));
}
if (message.startsWith("!remember")) {
String[] remember = message.split(" ");
rsname.put(sender, remember[1]);
sendMessage(channel, "Associating RSN " + remember[1] + " with nick " + sender);
writeNames();
}
if (message.startsWith("!link")) {
String[] split = message.split(" ");
if (split.length == 1 ) {
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=" + split[1]);
}
}
if (message.startsWith("!price")) {
String priceSearch;
String[] priceSplit = message.split(" ", 2);
priceSearch = priceSplit[1].replaceAll(" ", "+");
writePrice(channel, sender, priceSearch);
}
if (message.startsWith("!cmb")) {
String[] combatSplit = message.split(" ");
String realname2 = combatSplit[1];
writeCombat(realname2);
}
if (message.startsWith("!urban")) {
String[] urbanLookup = message.split(" ", 2);
urbanLookup[1] = urbanLookup[1].replaceAll(" ", "+");
sendMessage(channel, "http://www.urbandictionary.com/define.php?term=" + urbanLookup[1]);
}
if (message.startsWith("!w")) {
String[] word = message.split(" ");
sendMessage(channel, "http://dictionary.reference.com/search?q=" + word[1]);
}
if (message.startsWith("!pot")) {
String[] potSplit = message.split(" ");
String pot = potSplit[1];
potHash.removePotAbbrevs(pot);
sendMessage(channel, (String) potHash.potHash.get("range"));
}
if (message.startsWith("!xp")) {
String realname2 = null;
skillSearch = null;
String goalLevel = null;
message = message.toLowerCase();
String[] hiscoreSplit = message.split(" ");
if (hiscoreSplit.length == 2) {
realname2 = (String) rsname.get(sender);
if (realname2 == null) {
realname2 = sender;
}
skillSearch = hiscoreSplit[1];
removeAbbreviations();
}
if (hiscoreSplit.length == 3) {
try {
Integer.parseInt(hiscoreSplit[2]);
goalLevel = hiscoreSplit[2];
skillSearch = hiscoreSplit[1];
realname2 = (String) rsname.get(sender);
if (realname2 == null) {
realname2 = sender;
}
removeAbbreviations();
}
catch (NumberFormatException e) {
realname2 = (String) rsname.get(hiscoreSplit[1]);
if (realname2 == null) {
realname2 = hiscoreSplit[1];
}
skillSearch = hiscoreSplit[2];
goalLevel = null;
removeAbbreviations();
}
}
if (hiscoreSplit.length == 4) {
realname2 = (String) rsname.get(hiscoreSplit[1]);
if (realname2 == null) {
realname2 = hiscoreSplit[1];
}
skillSearch = hiscoreSplit[2];
goalLevel = hiscoreSplit[3];
removeAbbreviations();
}
writeXP(realname2, skillSearch, goalLevel);
if (xpVector.size() <= 6) {
while (xpVector.size() != 0) {
sendMessage(channel, xpVector.firstElement().toString());
xpVector.remove(0);
}
xpVector.clear();
}
else {
sendMessage(channel, "Stats over six lines. Sending via PM");
while (xpVector.size() != 0) {
sendMessage(sender, xpVector.firstElement().toString());
xpVector.remove(0);
}
xpVector.clear();
}
}
if (message.startsWith("!hiscore")) {
String realname2 = null;
skillSearch = null;
message = message.toLowerCase();
String[] hiscoreSplit = message.split(" ");
if (hiscoreSplit.length == 2) {
realname2 = (String) rsname.get(sender);
if (realname2 == null) {
realname2 = sender;
}
skillSearch = hiscoreSplit[1];
}
if (hiscoreSplit.length == 3) {
realname2 = (String) rsname.get(hiscoreSplit[1]);
if (realname2 == null) {
realname2 = hiscoreSplit[1];
}
skillSearch = hiscoreSplit[2];
}
int i = 0;
removeAbbreviations();
writeStats(realname2);
if (skillSearch.equals("all")) {
if (statsVector.size() <= 5) {
while (statsVector.size() > i) {
sendMessage(channel, statsVector.get(i).toString());
i++;
}
statsVector.clear();
}
else {
sendMessage(channel, "Stats over six lines. Sending via PM");
while (statsVector.size() > i) {
sendMessage(sender, statsVector.get(i).toString());
i++;
}
statsVector.clear();
}
}
else {
String statMessage = (String) statsMap.get(skillSearch);
if (statsMap.isEmpty()) {
sendMessage(channel, "User " + realname2 + " does not feature in the highscores");
}
else if (statMessage == null) {
sendMessage(channel, "User " + realname2 + " is unranked for skill " + skillSearch);
}
else {
sendMessage(channel, statMessage);
}
}
statsMap.clear();
statsVector.clear();
}
}