import sys import math import collections import zokket from bot import Bot botname_prefix = 'audzx' queue = collections.deque() rate = 5.0 # messages per = 8.0 # seconds max_workers = 6 channel = '#test123aszz' if len(sys.argv) == 2: channel = sys.argv[1] if channel[0] != '#': channel = '#' + channel linecount = 0 for line in sys.stdin: queue.append(line.strip()) linecount += 1 workers = int(math.ceil(linecount / rate)) if workers > max_workers: workers = max_workers if workers == 0: sys.exit(1) print 'starting {} worker threads'.format(workers) threads = [] for i in range(workers): botname = botname_prefix + chr(97 + i) threads.append(Bot(channel, threads, queue, botname, rate, per)) for bot in threads: bot.start() zokket.DefaultRunloop.run()