Esempio n. 1
0
def initContestServices():
	Chat.initChats()
	standings.initDB()
	services = [
		cf.ContestListService(),
		cf.FriendUpdateService(),
		AnalyseStandingsService.AnalyseStandingsService(),
		UpcomingService.UpcomingService(),
		SummarizingService.SummarizingService()
	]
	for service in services:
		service.start()
Esempio n. 2
0
import sys, os, time, re, datetime
from telegram import Chat
from utils import util
from utils.util import logger
from telegram import telegram as tg

util.initLogging()
Chat.initChats()

if len(sys.argv) != 1:
	try:
		msgText = open(sys.argv[1]).read()[:-1] # discard trailing newline
		logger.info("sending broadcast message:\n" + msgText)
		for chatId in Chat.chats:
			msg = msgText
			chat = Chat.chats[chatId]
			while True:
				m = re.search("\[%t [0-9]*\]", msg)
				if m is None:
					break
				tInSec = int(m.group()[4: -1])
				timeLeft = int(tInSec - time.time())
				delta = datetime.timedelta(seconds=timeLeft)
				dTime = f"*{util.displayTime(tInSec, chat.timezone)}* (in {':'.join(str(delta).split(':')[:2])} hours)"
				msg = msg[:m.span()[0]] + dTime + msg[m.span()[1]:]
			#print(f"chat: {chatId}: {msg}")
			chat.sendMessage(msg)
		time.sleep(1)
		while tg.requestSpooler._q[0].qsize() > 0:
			try:
				print(f"waiting {tg.requestSpooler._q[0].qsize()}")