summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean B. Palmer <sbp@aldebaran.local>2012-02-16 17:55:23 +0000
committerSean B. Palmer <sbp@aldebaran.local>2012-02-16 17:55:23 +0000
commit6198b30d76a6e7ce3ba3037f454221cbbc4b0b32 (patch)
tree8af81f74f153e55303773c9a30be0e31abd872be
parentc65639d55f7b897b21af98c522a647917327f6ba (diff)
downloadbot-6198b30d76a6e7ce3ba3037f454221cbbc4b0b32.tar.gz
bot-6198b30d76a6e7ce3ba3037f454221cbbc4b0b32.tar.bz2
bot-6198b30d76a6e7ce3ba3037f454221cbbc4b0b32.zip
Throttle channel joins
-rwxr-xr-xirc.py4
-rwxr-xr-xmodules/oblique.py4
-rwxr-xr-xmodules/startup.py5
3 files changed, 9 insertions, 4 deletions
diff --git a/irc.py b/irc.py
index 767aa27..30d1146 100755
--- a/irc.py
+++ b/irc.py
@@ -46,7 +46,7 @@ class Bot(asynchat.async_chat):
# asynchat.async_chat.push(self, *args, **kargs)
def __write(self, args, text=None):
- # print '%r %r %r' % (self, args, text)
+ # print 'PUSH: %r %r %r' % (self, args, text)
try:
if text is not None:
# 510 because CR and LF count too, as nyuszika7h points out
@@ -102,7 +102,7 @@ class Bot(asynchat.async_chat):
line = line[:-1]
self.buffer = ''
- # print line
+ # print 'GOT:', repr(line)
if line.startswith(':'):
source, line = line[1:].split(' ', 1)
else: source = None
diff --git a/modules/oblique.py b/modules/oblique.py
index 7bd6718..d93446e 100755
--- a/modules/oblique.py
+++ b/modules/oblique.py
@@ -43,7 +43,9 @@ def service(phenny, input, command, args):
lines = bytes.splitlines()
if not lines:
return phenny.reply("Sorry, the service didn't respond any output.")
- phenny.say(lines[0][:350])
+ try: line = lines[0].encode('utf-8')[:350]
+ except: line = lines[0][:250]
+ phenny.say(line)
def refresh(phenny):
if hasattr(phenny.config, 'services'):
diff --git a/modules/startup.py b/modules/startup.py
index 48c5fc9..297dfb5 100755
--- a/modules/startup.py
+++ b/modules/startup.py
@@ -53,16 +53,19 @@ def setup(phenny):
phenny.handle_connect = outer_handle_connect
def startup(phenny, input):
+ import time
+
if hasattr(phenny.config, 'serverpass'):
phenny.write(('PASS', phenny.config.serverpass))
if hasattr(phenny.config, 'password'):
phenny.msg('NickServ', 'IDENTIFY %s' % phenny.config.password)
- __import__('time').sleep(5)
+ time.sleep(5)
# Cf. http://swhack.com/logs/2005-12-05#T19-32-36
for channel in phenny.channels:
phenny.write(('JOIN', channel))
+ time.sleep(0.5)
startup.rule = r'(.*)'
startup.event = '251'
startup.priority = 'low'