def parse_markov_from_text(message, connector, index, raw): global markov_dict for key, item in markov_dict.items(): markov_dict[key] = set(item) if not raw: if len(message["arguments"]) < 2: connector.send_message( index, get_message_target(connector, message, index), "{}: Error: No argument provided!".format(message["nickname"])) data = open(" ".join(message["arguments"][1:])).read() data = " ".join([n.strip() for n in data.split("\n")]) words = [ x for x in simple_string_filter( data, "\'\"-/\\,.!?", isalnumspace).split(" ") if x != " " ] for x in xrange(len(words)): try: if words[x - 1] == words[x] or words[x] == words[x + 1]: continue except IndexError: pass try: markov_dict[words[x - 1].lower()].add(words[x].lower()) except KeyError: try: markov_dict[words[x - 1].lower()] = {words[x].lower()} except IndexError: pass except IndexError: pass try: markov_dict[words[x].lower()].add(words[x + 1].lower()) except KeyError: try: markov_dict[words[x].lower()] = {words[x + 1].lower()} except IndexError: pass except IndexError: continue connector.send_message( index, get_message_target(connector, message, index), "{}: Text file succesfully parsed on Markov!".format( message["nickname"]))
def smsg(msg): if type(msg) is str: connector.send_message( index, get_message_target(connector, message, index), msg) return True elif hasattr(msg, "__iter__"): for m in msg: connector.send_message( index, get_message_target(connector, message, index), m) return True else: return False
def ban_user(message, connector, index, raw): if raw: return if len(message["arguments"]) < 2: connector.send_message(index, get_message_target(connector, message, index), "Not enough arguments!") connector.send_command(index, "BAN {} {} :{}".format(message["channel"], message["arguments"][1], " ".join(message["arguments"][2:])))
def part_channel(message, connector, index, raw): if not raw: if len(message["arguments"]) < 2: connector.send_message( index, get_message_target(connector, message, index), "Part failed!") connector.send_command(index, "PART " + message["arguments"][1])
def join_channel(message, connector, index, raw): if not raw: if len(message["arguments"]) < 2: connector.send_message( index, get_message_target(connector, message, index), "Join failed!") connector.send_command(index, "JOIN " + message["arguments"][1])
def part_channel(message, connector, index, raw): if not raw: if len(message["arguments"]) < 3: connector.send_message( index, get_message_target(mconnector, essage, index), "Message to channel failed!") connector.send_message(index, message["arguments"][1], " ".join(message["arguments"][2:]))
def check_crawled(connector, index, message): global crawling, crawled while crawling > crawled: time.sleep(0.2) connector.send_message( index, get_message_target(connector, message, index), "Finished crawling {all} websites!".format(all=crawled))
def action(message, connector, index, raw): if not raw: if len(message["arguments"]) < 3: connector.send_message( index, get_message_target(connector, message, index), "Action to channel failed!") connector.send_message( index, message["arguments"][1], "\x01ACTION {}\x01".format(" ".join((message["arguments"][2:]))))
def send_command_to_server(message, connector, index, raw): if raw: return if len(message["arguments"][1:]) < 2: connector.send_message(index, get_message_target(connector, message, index), "Syntax: cmd <command to send>") connector.send_command(index, " ".join(message["arguments"][1:]))
def invite_user(message, connector, index, raw): if raw: return tgtchan = get_message_target(connector, message, index) if len(message["arguments"]) < 2: connector.send_message(index, tgtchan, "Syntax: invite <user>") return connector.send_command(index, "INVITE {} {}".format(message["arguments"][1], message["channel"]))
def parse_markov_from_text(message, connector, index, raw): global markov_dict for key, item in markov_dict.items(): markov_dict[key] = set(item) if not raw: if len(message["arguments"]) < 2: connector.send_message(index, get_message_target(connector, message, index), "{}: Error: No argument provided!".format(message["nickname"])) for line in open(" ".join(message["arguments"][1:])).readlines(): words = simple_string_filter(line, "\'\"-/\\,.!?", isalnumspace).split(" ") for x in xrange(len(words)): try: if words[x - 1] == words[x] or words[x] == words[x + 1]: continue except IndexError: pass try: markov_dict[words[x - 1].lower()].add(words[x].lower()) except KeyError: try: markov_dict[words[x - 1].lower()] = {words[x].lower()} except IndexError: pass except IndexError: pass try: markov_dict[words[x].lower()].add(words[x + 1].lower()) except KeyError: try: markov_dict[words[x].lower()] = {words[x + 1].lower()} except IndexError: pass except IndexError: continue connector.send_message(index, get_message_target(connector, message, index), "{}: Text file succesfully parsed on Markov!".format(message["nickname"]))
def ban_user(message, connector, index, raw): if raw: return if len(message["arguments"]) < 2: connector.send_message(index, get_message_target(connector, message, index), "Not enough arguments!") connector.send_command( index, "BAN {} {} :{}".format(message["channel"], message["arguments"][1], " ".join(message["arguments"][2:])))
def invite_user(message, connector, index, raw): if raw: return tgtchan = get_message_target(connector, message, index) if len(message["arguments"]) < 2: connector.send_message(index, tgtchan, "Syntax: invite <user>") return connector.send_command( index, "INVITE {} {}".format(message["arguments"][1], message["channel"]))
def sine_command(message, raw): if not raw: try: try: return ["{}: {}".format(message["nickname"], str(math.sin(float(message["arguments"][1]))))] except ValueError: return [index,get_message_target(connector, message, index), message["nickname"] + ": Invalid literal!"] except IndexError: return [message["nickname"] + ": No argument given!"] else: return []
def cosine_command(message, raw): if not raw: try: print "Sending decimal cosine..." try: return [str(math.cos(float(message["arguments"][1])))] except ValueError: return [index, get_message_target(connector, message, index), message["nickname"] + ": Invalid literal!"] except IndexError: return [message["nickname"] + ": No argument given!"] else: return []
def __wrapper__(message, connector, index, raw): if raw: return global game p = message["nickname"] if p not in game.players.keys(): connector.send_message( index, plugincon.get_message_target(connector, message, index), "You didn't join yet!") return func(message, connector, index, game.players[message["nickname"]], game)
def smw_help(message, connector, index, raw): if raw: return def send_notices(mesgs): for item in mesgs: connector.send_command(index, "NOTICE {} :{}".format(message["nickname"], item.encode("utf-8"))) connector.send_message(index, get_message_target(connector, message, index), "Sent you help via notice.") send_notices(( "WARZONE HELP", "Join using smw_join.", "If you are mush, use smw_extract to get more spores (or smw_findspore) and smw_spike to in--I mean \"enlighten\". Or else, buy some good gun using smw_buygun and smw_buyammo. (List them and ammo using smw_listweaponry and smw_listammotypes!)", "Use smw_about for etc stuff or use smw_hide for a consolation message!", "Use smw_cost to get cost of stuff. Always remember: friendship is for FREE! <3", "Use smw_shoot <target> <weapon> to shoot at someone. Use smw_eat to regain immune/fungushealth. And smw_status to get your status and smw_getstatus to get other people's status!", "Some commands are turn-only. Check who's turn using smw_turn and check the turn queue using smw_turnlist! And check who is playing (and whether they're mush) using smw_players.", "Remember: instead of paranoia like in the original, use strategy! ;)" ))
def smw_help(message, connector, index, raw): if raw: return def send_notices(mesgs): for item in mesgs: connector.send_command(index, "NOTICE {} :{}".format(message["nickname"], item.encode("utf-8"))) connector.send_message(index, get_message_target(connector, message, index), "Sent you help via notice.") send_notices(( "WARZONE HELP", "Join using smw_join.", "If you are mush, use smw_extract to get more spores (or smw_findspore) and smw_spike to in--I mean \"enlighten\". Or else, buy some good gun using smw_buygun and smw_buyammo. (List them and ammo using smw_listweaponry and smw_listammotypes!)", "Use smw_about for etc stuff or use smw_hide for a consolation message!", "Use smw_cost to get cost of stuff. Always remember: friendship is for FREE! <3", "Use smw_shoot <target> <weapon> to shoot at someone. Use smw_eat to regain immune/fungushealth. And smw_status to get your status and smw_getstatus to get other people's status!", "Some commands are turn-only. Check who's turn using smw_turn and check the turn queue using smw_turns! And check who is playing (and whether they're mush) using smw_players.", "Remember: instead of paranoia like in the original, use strategy! ;)" ))
def sine_command(message, raw): if not raw: try: try: return [ "{}: {}".format( message["nickname"], str(math.sin(float(message["arguments"][1])))) ] except ValueError: return [ index, get_message_target(connector, message, index), message["nickname"] + ": Invalid literal!" ] except IndexError: return [message["nickname"] + ": No argument given!"] else: return []
def get_pi(message, connector, index, raw): if not raw: connector.send_message(index, get_message_target(connector, message, index), str(math.pi))
def message(message, connector, index, out): return connector.send_message( index, plugincon.get_message_target(connector, message, index), out)
def msg(mseg): connector.send_message(index, get_message_target(connector, message, index), mseg)
def msg(mesg): connector.send_message(index, get_message_target(connector, message, index), mesg.encode("utf-8"))
def join_channel(message, connector, index, raw): if not raw: if len(message["arguments"]) < 2: connector.send_message(index, get_message_target(connector, message, index), "Join failed!") connector.send_command(index, "JOIN " + message["arguments"][1])
def send_message(self, message=""): self.connector.send_message( self.index, plugincon.get_message_target(self.connector, self.message, self.index), message)
def message_target(msg, target=None): if not target: target = get_message_target(connector, message, index) connector.send_message(index, target, msg)
def send_message(self, message=""): self.connector.send_message( self.index, plugincon.get_message_target(self.connector, self.message, self.index), message )
def part_channel(message, connector, index, raw): if not raw: if len(message["arguments"]) < 3: connector.send_message(index, get_message_target(mconnector, essage, index), "Message to channel failed!") connector.send_message(index, message["arguments"][1], " ".join(message["arguments"][2:]))
def message_target(idx, msg, target=None): if not target: target = get_message_target(connector, message, index) connector.send_message(idx, target, msg)
def part_channel(message, connector, index, raw): if not raw: if len(message["arguments"]) < 2: connector.send_message(index, get_message_target(connector, message, index), "Part failed!") connector.send_command(index, "PART " + message["arguments"][1])
def action(message, connector, index, raw): if not raw: if len(message["arguments"]) < 3: connector.send_message(index, get_message_target(connector, message, index), "Action to channel failed!") connector.send_message(index, message["arguments"][1], "\x01ACTION {}\x01".format(" ".join((message["arguments"][2:]))))
def message(message, connector, index, out): return connector.send_message( index, plugincon.get_message_target(connector, message, index), out )