Example #1
0
def main():
    if len(sys.argv) < 4:
        print("Usage: python3 main.py <env> <bot_name> <file_number>")
        sys.exit(1)
    environnement = "IRC_" + sys.argv[1]
    bot_name = sys.argv[2]
    file_number = sys.argv[3]

    config = configparser.ConfigParser()
    config.read(CONFIG_FILE)

    if not environnement in config:
        print("Configuration missing")
        sys.exit(1)
    irc_config = config[environnement]
    server = irc_config["server"]
    port = irc_config["port"]
    nickname = irc_config["nickname"]

    if "master_bot" in config:
        client = IRCClient(irc_config, bot_name, file_number)
    else:
        client = IRCDirectClient(irc_config, bot_name, file_number)

    try:
        client.connect(server, int(port), nickname)
    except irc.client.ServerConnectionError as error:
        print(error)
        sys.exit(1)
    client.start()
Example #2
0
def main():
    global target
    global file
    

   
    cmd = config.server
    host_port = cmd + ":" + str(config.port)

    nickname = config.nickname 
    target = config.target

    s = host_port.split(":", 1)

    server = s[0]

    if len(s) == 2:
        try:
            port = int(s[1]) 
        except ValueError:
            print "Error: Erroneous port."
            raise SystemExit(1)
    else:
        port = 6667 

    print "Connecting to " + cmd + "..."

    global client
    client = IRCClient( target ) 
    
    try:
        client.connect(server, port, nickname) 
    except irc.client.ServerConnectionError, x:
        print x 
        raise SystemExit(1)
Example #3
0
def start(nickname, server, port, channels, keys):
    client = RustEvalbot(nickname, channels, keys)
    try:
        client.connect(server, port, nickname)
    except irc.client.ServerConnectionError as x:
        print(x)
        sys.exit(1)
    client.start()
Example #4
0
def notify_on_irc(sender, course_key):
    message = "Course Published: %s" % (course_key, )
    ircsettings = getattr(settings, "IRC_NOTIFIER", DEFAULT_SETTINGS)
    server, port, channel, nickname = itemgetter("SERVER", "PORT", "CHANNEL",
                                                 "NICKNAME")(ircsettings)
    client = IRCNotifierClient(channel, message)
    client.connect(server, port, nickname)
    client.start()
Example #5
0
def start(nickname, server, port, channels, keys):
    client = RustEvalbot(nickname, channels, keys)
    try:
        client.connect(server, port, nickname)
    except irc.client.ServerConnectionError as x:
        print(x)
        sys.exit(1)
    client.start()
Example #6
0
def start(nickname, server, port, channels, keys, password):
    client = RustEvalbot(nickname, channels, keys, password)
    try:
        client.connect(server, port, nickname)
        client.connection.set_keepalive(30)
    except irc.client.ServerConnectionError as x:
        print(x)
        sys.exit(1)
    client.start()
Example #7
0
def start(nickname, server, port, channels, keys, password):
    client = RustEvalbot(nickname, channels, keys, password)
    try:
        client.connect(server, port, nickname)
        client.connection.set_keepalive(30)
    except irc.client.ServerConnectionError as x:
        print(x)
        sys.exit(1)
    client.start()
Example #8
0
    def run(args):
        brain = cobe.brain.Brain("cobe.store")

        client = IrcClient(brain, args.encoding, args.random_replies, args.deaf, args.ignored_nicks, args.only_nicks)
        client.connect(args.server, args.port, args.nick, args.password)

        for channel in args.channel:
            client.join(channel)

        client.start()
Example #9
0
    def run(args):
        brain = cobe.brain.Brain("cobe.store")

        client = IrcClient(brain, args.ignored_nicks, args.only_nicks)
        client.connect(args.server, args.port, args.nick)

        for channel in args.channel:
            client.join(channel)

        client.start()
Example #10
0
    def run(args):
        brain = cobe.brain.Brain("cobe.store")

        client = IrcClient(brain, args.ignored_nicks, args.only_nicks)
        client.connect(args.server, args.port, args.nick)

        for channel in args.channel:
            client.join(channel)

        client.start()
Example #11
0
    def run(args):
        brain = cobe.brain.Brain("cobe.store")

        client = IrcClient(brain, args.encoding, args.random_replies,
                           args.deaf, args.ignored_nicks, args.only_nicks)
        client.connect(args.server, args.port, args.nick, args.password)

        for channel in args.channel:
            client.join(channel)

        client.start()
Example #12
0
def start_client(client_class):
    client = client_class()
    try:
        nick = generate_nick()
        logmsg = "Starting client {0} with nick {1}"
        logger.info(logmsg.format(client_class.__name__, nick))
        client.connect(SERVER, PORT, nick)
    except irc.client.ServerConnectionError as x:
        logger.error("Failed to start client!")
        logger.error(repr(x))
        sys.exit(1)
    client.start()
Example #13
0
    def run(args):
        brain = cobe.brain.Brain("cobe.store")

        client = IrcClient(brain, args.owners, args.ignored, args.trainers,
                           args.no_reply)
        client.connection.buffer_class.errors = "ignore"
        client.connect(args.server, args.port, args.nick, args.password,
                       args.username, args.realname)

        for channel in args.channel:
            client.join(channel)

        client.start()
Example #14
0
def main():
    logging.basicConfig(level=logging.INFO)
    config = configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation())
    with open('config.cfg') as f:
        config.read_file(f)
    CTRLNICK = "bot-controller"
    client = IrcClient(CTRLNICK, config)
    if config.getboolean('core', 'ssl'):
        factory = connection.Factory(wrapper=ssl.wrap_socket, ipv6=config.getboolean('core', 'ipv6'))
    else:
        factory = connection.Factory(ipv6=config.getboolean('core', 'ipv6'))
    client.connect(config['core']['host'], config.getint('core', 'ircport'), CTRLNICK, config['auth']['serverpass'], connect_factory=factory)
    client.start()
Example #15
0
    def run(self):
        _logger.info('Starting IRC client.')

        self._running = True
        client = Client(self._channel, self._message_queue)
        client.connect(self._irc_host, self._irc_port, self.get_nickname())

        while self._running:
            client.reactor.process_once(0.2)

        client.stop_autoconnect()
        client.reactor.disconnect_all()

        _logger.info('Stopped IRC client.')
Example #16
0
def main():
    logging.basicConfig(level=logging.INFO)
    config = configparser.ConfigParser(
        interpolation=configparser.ExtendedInterpolation())
    with open('config.cfg') as f:
        config.read_file(f)
    CTRLNICK = "bot-controller"
    client = IrcClient(CTRLNICK, config)
    if config.getboolean('core', 'ssl'):
        factory = connection.Factory(wrapper=ssl.wrap_socket,
                                     ipv6=config.getboolean('core', 'ipv6'))
    else:
        factory = connection.Factory(ipv6=config.getboolean('core', 'ipv6'))
    client.connect(config['core']['host'],
                   config.getint('core', 'ircport'),
                   CTRLNICK,
                   config['auth']['serverpass'],
                   connect_factory=factory)
    client.start()
Example #17
0
def establish_connection(term, session):
    """
    Establish a connection to the IRC server.

    Returns IRCChat instance or False depending on whether it was successful.
    """
    kwargs = dict()
    if ENABLE_SSL:
        from ssl import wrap_socket
        from irc.connection import Factory
        kwargs['connect_factory'] = Factory(wrapper=wrap_socket)

    echo(u'Connecting to {server}:{port} for channel {chan}.\r\n\r\n'
         'press {key_q} or {key_esc} to abort ... '
         .format(server=SERVER,
                 port=PORT,
                 chan=CHANNEL,
                 key_q=term.bold(u'Q'),
                 key_esc=term.bold(u'ESC')))

    client = IRCChat(term, session)
    irc_handle = session.user.handle.replace(' ', '_')
    try:
        # pylint:disable=W0142
        client.connect(SERVER, PORT, irc_handle, **kwargs)
    except irc.client.ServerConnectionError:
        echo(term.bold_red(u'Connection error!'))
        term.inkey(3)
        return False

    while True:
        client.reactor.process_once()
        event, data = session.read_events(
            ('irc', 'irc-quit', 'irc-connected', 'input'), timeout=0.02)
        if event == 'irc':
            # show on-connect motd data if any received
            echo(u'\r\n{0}'.format(data[0]))
        elif event == 'irc-connected':
            echo(u'Connected!')
            break
        elif event == 'input':
            session.buffer_input(data, pushback=True)
            inp = term.inkey(0)
            while inp is not None:
                if inp.lower() == u'q' or inp.code == term.KEY_ESCAPE:
                    echo(u'Canceled!')
                    return False
                inp = term.inkey(0)
        elif event == 'irc-quit':
            echo(term.bold_red(u'Connection failed!'))
            term.inkey(3)
            return False

    while True:
        client.reactor.process_once()
        event, data = session.read_events(
            ('irc-welcome', 'irc-quit', 'input'), timeout=0.2)
        if event == 'irc-quit':
            echo(term.bold_red(u'Connection lost!'))
            term.inkey(3)
            return False
        elif event == 'input':
            session.buffer_input(data, pushback=True)
            inp = term.inkey(0)
            while inp is not None:
                if inp.lower() == u'q' or inp.code == term.KEY_ESCAPE:
                    echo(u'Canceled!')
                    return False
                inp = term.inkey(0)
        elif event == 'irc-welcome':
            return client
Example #18
0
    return lines

class Trending(irc.client.SimpleIRCClient):
    def __init__(self, channel):
        irc.client.SimpleIRCClient.__init__(self)
        self.channel = channel
    def on_welcome(self, *args):
        self.connection.join(self.channel)
    def on_join(self, *args):
        self.go()
    def on_disconnect(self, *args):
        sys.exit()
    def go(self):
        for line in get_trending('rust'):
            self.connection.privmsg(self.channel, line)
        self.connection.quit()

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--irc', action='store_true')
parser.add_argument('language')
args = parser.parse_args()

if args.irc:
    client = Trending('#rust')
    client.connect('irc.ozinger.org', 6667, 'rustbot')
    client.start()
else:
    for line in get_trending(args.language):
        print(line)
Example #19
0
def establish_connection(term, session):
    """
    Establish a connection to the IRC server.

    Returns IRCChat instance or False depending on whether it was successful.
    """
    scrollback = collections.deque(maxlen=MAX_SCROLLBACK)
    kwargs = dict()
    if ENABLE_SSL:
        from ssl import wrap_socket
        from irc.connection import Factory
        kwargs['connect_factory'] = Factory(wrapper=wrap_socket)
    if PASSWORD is not None:
        kwargs['password'] = PASSWORD

    echo(u'Connecting to {server}:{port} for channel {chan}.\r\n\r\n'
         'press [{key_q}] to abort ... '.format(server=SERVER,
                                                port=PORT,
                                                chan=CHANNEL,
                                                key_q=term.bold(u'q')))

    client = IRCChat(term, session)
    irc_handle = session.user.handle.replace(' ', '_')
    try:
        # pylint: disable=W0142
        client.connect(SERVER, PORT, irc_handle, **kwargs)
    except irc.client.ServerConnectionError:
        echo(term.bold_red(u'Connection error!'))
        term.inkey(3)
        raise EOFError()

    while True:
        client.reactor.process_once()
        event, data = session.read_events(
            ('irc', 'irc-quit', 'irc-connected', 'input'), timeout=0.02)
        if event == 'irc':
            # show on-connect motd data if any received
            echo(u'\r\n{0}'.format(data[0]))
            scrollback.append(data[0])
        elif event == 'irc-connected':
            break
        elif event == 'input':
            session.buffer_input(data, pushback=True)
            inp = term.inkey(0)
            while inp is not None:
                if inp.lower() == u'q' or inp.code == term.KEY_ESCAPE:
                    echo(u'Canceled!')
                    raise EOFError()
                inp = term.inkey(0)
        elif event == 'irc-quit':
            echo(term.bold_red(u'\r\nConnection failed: {0}!'.format(data)))
            term.inkey(3)
            raise EOFError()

    while True:
        client.reactor.process_once()
        event, data = session.read_events(
            ('irc', 'irc-welcome', 'irc-quit', 'input'), timeout=0.2)
        if event == 'irc':
            # show on-connect motd data if any received
            echo(u'\r\n{0}'.format(data[0]))
            scrollback.append(data[0])
        if event == 'irc-quit':
            echo(term.bold_red(u'\r\nConnection lost: {0}!'.format(data)))
            term.inkey(3)
            raise EOFError()
        elif event == 'input':
            session.buffer_input(data, pushback=True)
            inp = term.inkey(0)
            while inp is not None:
                if inp.lower() == u'q' or inp.code == term.KEY_ESCAPE:
                    echo(u'Canceled!')
                    raise EOFError()
                inp = term.inkey(0)
        elif event == 'irc-welcome':
            return client, scrollback
Example #20
0
    print """
    USAGE:
      > python yell_in_irc.py <channel> <msg>
    """

if __name__ == "__main__":
    if len(sys.argv) < 3:
        usage()
        sys.exit(1)
        
    channel = sys.argv[1]
    msg = sys.argv[2]

    client = IRCCat(channel, msg)
    try:
        client.connect(
            server="irc.tfbnw.net",
            port=6443,
            nickname="SI_TAKEDOWN_THE_SITE",
            password=None,
            username=None,
            ircname=None,
            localaddress="",
            localport=0,
            ssl=True)
    except irc.client.ServerConnectionError, x:
        print x
        sys.exit(1)
        
    client.start()