示例#1
0
def cmd(send, msg, args):
    """Compiles stuff.
    Syntax: {command} <code>
    """
    if args['type'] == 'privmsg':
        send('GCC is a group exercise!')
        return
    tmpfile = tempfile.NamedTemporaryFile()
    for line in msg.split('\\n'):
        line = line + '\n'
        tmpfile.write(line.encode())
    tmpfile.flush()
    process = subprocess.Popen(['gcc', '-o', '/dev/null', '-xc', tmpfile.name],
                               stdout=subprocess.PIPE,
                               stderr=subprocess.STDOUT)
    output = process.communicate()[0]
    tmpfile.close()
    # Take the last 3 lines to prevent Excess Flood on long error messages
    output = output.decode().splitlines()[:3]
    for line in output:
        send(line, target=args['nick'])
    if process.returncode == 0:
        send(gen_slogan("gcc victory"))
    else:
        send(gen_slogan("gcc failed"))
示例#2
0
文件: slogan.py 项目: jwoglom/ionbot
def cmd(send, msg, args):
    """Gets a slogan.
    Syntax: !slogan <text>
    """
    if not msg:
        msg = textutils.gen_word()
    send(textutils.gen_slogan(msg))
示例#3
0
def cmd(send, msg, args):
    """Gets a slogan.
    Syntax: {command} <text>
    """
    if not msg:
        msg = gen_word()
    send(gen_slogan(msg))
示例#4
0
def cmd(send, msg, args):
    """Gets a slogan.
    Syntax: !slogan <text>
    """
    if not msg:
        msg = gen_word()
    send(gen_slogan(msg))
示例#5
0
def cmd(send, msg, _):
    """Gets a slogan.
    Syntax: {command} [text]
    """
    if not msg:
        msg = textutils.gen_word()
    send(textutils.gen_slogan(msg))
示例#6
0
    def do_kick(self, send, target, nick, msg, slogan=True):
        """ Kick users.

        | If kick is disabled, don't do anything.
        | If the bot is not a op, rage at a op.
        | Kick the user.
        """
        if not self.kick_enabled:
            return
        if target not in self.channels:
            send("%s: you're lucky, private message kicking hasn't been implemented yet." % nick)
            return
        ops = list(self.channels[target].opers())
        botnick = self.config['core']['nick']
        if botnick not in ops:
            ops = ['someone'] if not ops else ops
            send(textutils.gen_creffett("%s: /op the bot" % choice(ops)), target=target)
        elif random() < 0.01 and msg == "shutting caps lock off":
            if nick in ops:
                send("%s: HUEHUEHUE GIBE CAPSLOCK PLS I REPORT U" % nick, target=target)
            else:
                self.connection.kick(target, nick, "HUEHUEHUE GIBE CAPSLOCK PLS I REPORT U")
        else:
            msg = textutils.gen_slogan(msg).upper() if slogan else msg
            if nick in ops:
                send("%s: %s" % (nick, msg), target=target)
            else:
                self.connection.kick(target, nick, msg)
示例#7
0
    def do_kick(self, send, target, nick, msg, slogan=True):
        """ Kick users.

        | If kick is disabled, don't do anything.
        | If the bot is not a op, rage at a op.
        | Kick the user.
        """
        if not self.kick_enabled:
            return
        if target not in self.channels:
            send(
                "%s: you're lucky, private message kicking hasn't been implemented yet."
                % nick)
            return
        ops = list(self.channels[target].opers())
        botnick = self.config['core']['nick']
        if not ops:
            ops = ['someone']
        if nick not in ops:
            if botnick not in ops and botnick != 'someone':
                send(textutils.gen_creffett("%s: /op the bot" % choice(ops)),
                     target=target)
            elif random() < 0.01 and msg == "shutting caps lock off":
                self.connection.kick(target, nick,
                                     "HUEHUEHUE GIBE CAPSLOCK PLS I REPORT U")
            else:
                msg = textutils.gen_slogan(msg).upper() if slogan else msg
                self.connection.kick(target, nick, msg)
示例#8
0
def cmd(send, msg, args):
    """Imitates pfoley.
    Syntax: !pfoley <message>
    """
    if not msg:
        msg = gen_word()
    output = gen_slogan(msg)
    send(output + " :)")
示例#9
0
文件: gcc.py 项目: cydrobolt/cslbot
def cmd(send, msg, args):
    """Compiles stuff.
    Syntax: !gcc <code>
    """
    if args['type'] == 'privmsg':
        send('GCC is a group exercise!')
        return
    tmpfile = tempfile.NamedTemporaryFile()
    for line in msg.split('\\n'):
        line = line + '\n'
        tmpfile.write(line.encode())
    tmpfile.flush()
    process = subprocess.Popen(['gcc', '-o', '/dev/null', '-xc', tmpfile.name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    output = process.communicate()[0]
    tmpfile.close()
    for line in output.decode().splitlines():
        send(line, target=args['nick'])
    if process.returncode == 0:
        send(gen_slogan("gcc victory"))
    else:
        send(gen_slogan("gcc failed"))