예제 #1
0
# This package may contain traces of nuts
from ircbot import main

main()
예제 #2
0
#
# v 0.0.1.0
#
# file: ircbot/__main__.py
# auth: Chiara Malagoli <*****@*****.**>
# desc:
#
# --------------
""":"
exec python $0 ${1+"$@"}
"""

from ircbot import main
import sys

config = dict(
    host="euroserv.fr.quakenet.org",
    port=6667,
    flood_wait=1.0,
    nick="Kabot",
    ident="kabot",
    realname="Gbinside Bot",
    # channel = "#" + md5(time.strftime('%Y%m%d')).hexdigest(),
    channel="#kabot",
    channel_password='******',  # or None
    ssl=False  # or put the filename for the certificates
)

if __name__ == '__main__':
    sys.exit(main(**config))
예제 #3
0
    def test_main(self):
        from ircbot import main

        with nested(
            patch('ircbot.check_cfg'),
            patch('ircbot.check_channel'),
            patch('ircbot.create_socket'),
            patch('ircbot.get_datetime'),
            patch('config.owner', new='owner'),
            patch('config.server', new='server'),
            patch('config.nicks', new=['foo', 'bar']),
            patch('config.real_name', new='real name'),
            patch('config.log', new='log_foo'),
            patch('config.cmds_list', new=['baz', 'bar']),
            patch('config.port', new=42),
            patch('signal.signal'),
            patch('ircbot.sigint_handler'),
            patch('config.channels', new=['#chan1', '#chan2']),
            patch('ircbot.connect_to'),
            patch('ircbot.log_write'),
            patch('config.current_nick', new='nick'),
            patch('ircbot.name_bot'),
            patch('ircbot.join_channels'),
            patch('ircbot.run'),
            patch('ircbot.quit_bot'),
            patch('sys.stdout', new=StringIO()),
        ) as (check_cfg, check_channel, create_socket, get_dt,
        owner, server, nicks, real_name, log, cmds_list, port, signal,
        sigint_handler, channels, connect_to, log_write, current_nick,
        name_bot, join_channels, run, quit_bot, stdout):
            s= Mock()
            get_dt.return_value = {'date': '42', 'time': '42'}
            logfile = log + get_dt.return_value['date'] + '.log'
            check_cfg.return_value = False

            self.assertRaises(SystemExit, main)

            check_cfg.return_value = True
            check_channel.return_value = False
            self.assertRaises(SystemExit, main)

            check_channel.return_value = True
            create_socket.return_value = False
            connect_to.return_value = False
            self.assertIsNone(main())

            create_socket.return_value = True
            connect_to.return_value = False
            self.assertIsNone(main())

            create_socket.return_value = False
            connect_to.return_value = True
            self.assertIsNone(main())

            create_socket.return_value = s
            connect_to.return_value = True

            main()

            connect_msg = 'Connected to {0}:{1}\n'.format(server, port)
            disconnect_msg = 'Disconnected from {0}:{1}\n'.format(server, port)

            expected_log_write_calls = [
                call(logfile, '42', ' <> ',
                    connect_msg),
                call(logfile, '42', ' <> ',
                    disconnect_msg),
            ]

            self.assertListEqual(expected_log_write_calls,
                log_write.call_args_list)

            self.assertEqual(stdout.getvalue(), connect_msg + disconnect_msg)
            s.close.assert_called_with()
            name_bot.assert_called_with(s, nicks, real_name, logfile)
            join_channels.assert_called_with(channels, s, logfile)
            run.assert_called_with(s, channels, cmds_list, name_bot(), logfile)

            join_channels.return_value = False
            log_write.call_args_list = []
            main()

            connect_msg = 'Connected to {0}:{1}\n'.format(server, port)
            disconnect_msg = 'Disconnected from {0}:{1}\n'.format(server, port)

            expected_log_write_calls = [
                call(logfile, '42', ' <> ',
                    connect_msg),
                call(logfile, '42', ' <> ',
                    disconnect_msg),
            ]

            self.assertListEqual(expected_log_write_calls,
                log_write.call_args_list)

            self.assertEqual(stdout.getvalue(), (connect_msg + disconnect_msg)*2)
            s.close.assert_called_with()
            name_bot.assert_called_with(s, nicks, real_name, logfile)
            join_channels.assert_called_with(channels, s, logfile)
예제 #4
0
# v 0.0.1.0
#
# file: ircbot/__main__.py
# auth: Chiara Malagoli <*****@*****.**>
# desc:
#
# --------------

""":"
exec python $0 ${1+"$@"}
"""

from ircbot import main
import sys

config = dict(
    host="euroserv.fr.quakenet.org",
    port=6667,
    flood_wait=1.0,
    nick="Kabot",
    ident="kabot",
    realname="Gbinside Bot",
    # channel = "#" + md5(time.strftime('%Y%m%d')).hexdigest(),
    channel="#kabot",
    channel_password='******',  # or None
    ssl=False  # or put the filename for the certificates
)

if __name__ == '__main__':
    sys.exit(main(**config))
예제 #5
0
    def test_main(self):
        from ircbot import main

        with nested(
                patch('ircbot.check_cfg'),
                patch('ircbot.check_channel'),
                patch('ircbot.create_socket'),
                patch('ircbot.get_datetime'),
                patch('config.owner', new='owner'),
                patch('config.server', new='server'),
                patch('config.nicks', new=['foo', 'bar']),
                patch('config.real_name', new='real name'),
                patch('config.log', new='log_foo'),
                patch('config.cmds_list', new=['baz', 'bar']),
                patch('config.port', new=42),
                patch('signal.signal'),
                patch('ircbot.sigint_handler'),
                patch('config.channels', new=['#chan1', '#chan2']),
                patch('ircbot.connect_to'),
                patch('ircbot.log_write'),
                patch('config.current_nick', new='nick'),
                patch('ircbot.name_bot'),
                patch('ircbot.join_channels'),
                patch('ircbot.run'),
                patch('ircbot.quit_bot'),
                patch('sys.stdout', new=StringIO()),
        ) as (check_cfg, check_channel, create_socket, get_dt, owner, server,
              nicks, real_name, log, cmds_list, port, signal, sigint_handler,
              channels, connect_to, log_write, current_nick, name_bot,
              join_channels, run, quit_bot, stdout):
            s = Mock()
            get_dt.return_value = {'date': '42', 'time': '42'}
            logfile = log + get_dt.return_value['date'] + '.log'
            check_cfg.return_value = False

            self.assertRaises(SystemExit, main)

            check_cfg.return_value = True
            check_channel.return_value = False
            self.assertRaises(SystemExit, main)

            check_channel.return_value = True
            create_socket.return_value = False
            connect_to.return_value = False
            self.assertIsNone(main())

            create_socket.return_value = True
            connect_to.return_value = False
            self.assertIsNone(main())

            create_socket.return_value = False
            connect_to.return_value = True
            self.assertIsNone(main())

            create_socket.return_value = s
            connect_to.return_value = True

            main()

            connect_msg = 'Connected to {0}:{1}\n'.format(server, port)
            disconnect_msg = 'Disconnected from {0}:{1}\n'.format(server, port)

            expected_log_write_calls = [
                call(logfile, '42', ' <> ', connect_msg),
                call(logfile, '42', ' <> ', disconnect_msg),
            ]

            self.assertListEqual(expected_log_write_calls,
                                 log_write.call_args_list)

            self.assertEqual(stdout.getvalue(), connect_msg + disconnect_msg)
            s.close.assert_called_with()
            name_bot.assert_called_with(s, nicks, real_name, logfile)
            join_channels.assert_called_with(channels, s, logfile)
            run.assert_called_with(s, channels, cmds_list, name_bot(), logfile)

            join_channels.return_value = False
            log_write.call_args_list = []
            main()

            connect_msg = 'Connected to {0}:{1}\n'.format(server, port)
            disconnect_msg = 'Disconnected from {0}:{1}\n'.format(server, port)

            expected_log_write_calls = [
                call(logfile, '42', ' <> ', connect_msg),
                call(logfile, '42', ' <> ', disconnect_msg),
            ]

            self.assertListEqual(expected_log_write_calls,
                                 log_write.call_args_list)

            self.assertEqual(stdout.getvalue(),
                             (connect_msg + disconnect_msg) * 2)
            s.close.assert_called_with()
            name_bot.assert_called_with(s, nicks, real_name, logfile)
            join_channels.assert_called_with(channels, s, logfile)