Skip to content

Instantly share code, notes, and snippets.

Created September 7, 2010 14:27
Show Gist options
  • Save anonymous/568423 to your computer and use it in GitHub Desktop.
Save anonymous/568423 to your computer and use it in GitHub Desktop.
# encoding: utf-8
from skypehub.handlers import on_message, on_time
from time import time
from datetime import datetime
import random
import re
from utils import *
from models import *
PYSPA_ROOM = "#nishio_hirokazu/$voluntas.twisted.mind;f3faa6fd1b134abc"
kaso_messages = [
u"大雨フリンタス",
u"お腹ボルンタス",
u"お腹ヘリンタス",
u"お腹ゲリンタス",
u"頭ハゲンタス",
]
renchan_counter = 0
renchan_timer = 0
msg_count_within_period = 0
def receiver(handler, message, status):
global renchan_counter, renchan_timer, msg_count_within_period
msg_count_within_period += 1
if message.Body == u'#room':
message.Chat.SendMessage(message.Chat.Name)
elif message.Body == u'#voluntas':
renchan_counter += 1
if renchan_counter >= 20:
text = u"いいかげんにしろゴルァ"
else:
text = kaso_messages[random.randint(0, len(kaso_messages) - 1)] + u"!"
message.Chat.SendMessage(text)
renchan_timer = 0
elif message.Body[0:6] == u"#flurl":
query = message.Body[6:].lstrip()
if not query:
query = "japanese"
results = search_flurl(query)
if results is not None:
text = u"っ" + results[random.randint(0, len(results) - 1)]
else:
text = u"ねーよw"
message.Chat.SendMessage(text)
else:
s = re.match(ur"(.+?)(\+\+|--)$", message.Body)
if s is not None:
if s.group(2) == u"++":
delta = 1
else:
delta = -1
target = s.group(1)
Kudo(name=target,
from_user=message.Sender,
timestamp=datetime.fromtimestamp(message.Timestamp),
delta=delta).save()
message.Chat.SendMessage(u"(%s: 通算 %d)" % (target, Kudo.getkudos(target)))
def renchan_reset(handler, time):
global renchan_counter, renchan_timer
renchan_timer += 1
if renchan_timer >= 3:
renchan_counter = 0
on_time.connect(renchan_reset, time + 10)
def sender(handler, time):
dt = datetime.fromtimestamp(time)
if dt.hour < 23 and dt.hour > 9:
if msg_count_within_period < 3:
handler.skype.Chat(PYSPA_ROOM).SendMessage(u"KASO")
handler.connect(sender, time + 2400)
else:
if msg_count_within_period < 3:
handler.skype.Chat(PYSPA_ROOM).SendMessage(u"(ninja)")
handler.connect(sender, time + 10800)
msg_count_within_period = 0
on_message.connect(receiver)
on_time.connect(sender, time() + 2400)
on_time.connect(renchan_reset, time() + 10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment