Пример #1
0
irc.connect(config.host, config.port, config.nick, config.password)
irc.join(config.chan)

def onAssemble(nick, user, host, chan, matches):
    print "Assembling"
    print matches.group()
    print matches.group(1)
    binary, errors = dcpu.assemble(matches.group(1))

    if binary:
        irc.privmsg(nick, chan, ', '.join(binary))
    if errors:
        irc.privmsg(nick, chan, errors)

irc.onPrivmsg(">>>(.+)", onAssemble)

def onDisassemble(nick, user, host, chan, matches):
    print "Disassembling"
    print matches.group()
    print matches.group(1)
    code = dcpu.disassemble(matches.group(1))

    if code:
        irc.privmsg(nick, chan, code)

irc.onPrivmsg("<<<(.+)", onDisassemble)

def onExecute(nick, user, host, chan, matches):
    executed, errors = dcpu.execute(matches.group(1))
Пример #2
0
def onConnect():
  irc.join(config.chan)

  def onAssemble(nick, user, host, chan, matches):
      print "Assembling"
      print matches.group()
      print matches.group(1)
      binary, errors = dcpu.assemble(matches.group(1))

      if binary:
          irc.privmsg(nick, chan, ', '.join(binary))
      if errors:
          irc.privmsg(nick, chan, errors)

  irc.onPrivmsg(">>>(.+)", onAssemble)

  def onDisassemble(nick, user, host, chan, matches):
      print "Disassembling"
      print matches.group()
      print matches.group(1)
      code = dcpu.disassemble(matches.group(1))

      if code:
          irc.privmsg(nick, chan, code)

  irc.onPrivmsg("<<<(.+)", onDisassemble)

  def onExecute(nick, user, host, chan, matches):
      executed, errors = dcpu.execute(matches.group(1))

      if executed:
          irc.privmsg(nick, chan, executed)
      if errors:
          irc.privmsg(nick, chan, errors)

  irc.onPrivmsg(">>([^>].+)", onExecute)

  def onHex(nick, user, host, chan, matches):
      converted = 0
      
      if matches.group(1) == "0b":
          converted = hex(int(matches.group(2), 2))
      else:
          converted = hex(int(matches.group(2)))

      irc.privmsg(nick, chan, converted)

  irc.onPrivmsg(r"^hex\((0b)?(\d+)\)", onHex)

  def onDec(nick, user, host, chan, matches):
      converted = 0
      
      if matches.group(1) == "0b":
          converted = str(int(matches.group(2), 2))
      elif matches.group(1) == "0x":
          converted = str(int(matches.group(2), 16))
      else:
          converted = str(int(matches.group(2)))

      irc.privmsg(nick, chan, converted)

  irc.onPrivmsg(r"^dec\((0b|0x)?([0-9a-fA-F]+)\)", onDec)

  def onBin(nick, user, host, chan, matches):
      converted = 0

      if matches.group(1) == "0x":
          converted = bin(int(matches.group(2), 16))
      else:
          converted = bin(int(matches.group(2), 16))

      irc.privmsg(nick, chan, converted)

  irc.onPrivmsg(r"^bin\((0x)?([0-9a-fA-F]+)\)", onBin)

  def onStinks(nick, user, host, chan, matches):
      messages = ["So do you!!!", "Shut up.", "You smell even worse.", "You really shouldn't be talking."]
      irc.privmsg(nick, chan, choice(messages))

  irc.onPrivmsg(".*" + config.nick + r":?( ?is| you)? stink(ing|s)?.*", onStinks)

  def onReload(nick, user, host, chan, matches):
      if(host == "unaffiliated/thatotherpersony"):
          subprocess.call(["git", "pull", "origin", "master"]);
          irc.privmsg(nick, chan, "Pulled latest changes from GitHub. Attempting to reload.")
          irc.reload()
      elif(host == "unaffiliated/quu"):
          irc.privmsg(nick, chan, "wat. Quu. derp.\nReally?\nInitializing spambot mode. >:D")
      else:
          irc.privmsg(nick, chan, "No. I don't wanna!")

  irc.onMsgToMe(".*reload.*", onReload)

  def onRudeness(nick, user, host, chan, matches):
      irc.privmsg(nick, chan, "Why don't you?")

  irc.onMsgToMe(".*stfu.*", onRudeness)

  def onHello(nick, user, host, chan, matches):
      irc.privmsg(nick, chan, "Howdy!")

  irc.onMsgToMe(".*hello.*", onHello)

  def onSup(nick, user, host, chan, matches):
      irc.privmsg(nick, chan, "I'm fine. How about you?")

  irc.onMsgToMe(".*(how.*you|sup|what.*up).*", onSup)