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"))
def cmd(send, msg, args): """Gets a slogan. Syntax: !slogan <text> """ if not msg: msg = textutils.gen_word() send(textutils.gen_slogan(msg))
def cmd(send, msg, args): """Gets a slogan. Syntax: {command} <text> """ if not msg: msg = gen_word() send(gen_slogan(msg))
def cmd(send, msg, args): """Gets a slogan. Syntax: !slogan <text> """ if not msg: msg = gen_word() send(gen_slogan(msg))
def cmd(send, msg, _): """Gets a slogan. Syntax: {command} [text] """ if not msg: msg = textutils.gen_word() send(textutils.gen_slogan(msg))
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)
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)
def cmd(send, msg, args): """Imitates pfoley. Syntax: !pfoley <message> """ if not msg: msg = gen_word() output = gen_slogan(msg) send(output + " :)")
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"))