All pastes #757964 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-01 19:51 UTC
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();
		}	
	}