aboutsummaryrefslogtreecommitdiff
path: root/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'main.py')
-rw-r--r--main.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/main.py b/main.py
new file mode 100644
index 0000000..2b8a902
--- /dev/null
+++ b/main.py
@@ -0,0 +1,41 @@
+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()