Compare commits

..

No commits in common. "76c6bd3c0e28080195be1fd5388adfe9c7e642ed" and "6e544331a28bd2321add615c966358cc3b9a0b04" have entirely different histories.

5 changed files with 3 additions and 69 deletions

22
main.py
View File

@ -1,5 +1,4 @@
from telegram.ext import Updater, MessageHandler, Filters from telegram.ext import Updater, MessageHandler, Filters
import datetime
import codecs import codecs
import time import time
import json import json
@ -31,13 +30,13 @@ class ModuleV1:
self.predefine = predefine self.predefine = predefine
if self.predefine: if self.predefine:
self.set_predefine() self.predefine()
# set environmental variables # set environmental variables
def set_env(self): def set_env(self):
self.RESPONCE = "" self.RESPONCE = ""
def set_predefine(self): def predefine(self):
try: try:
exec(self.predefine) exec(self.predefine)
except Exception as e: except Exception as e:
@ -53,7 +52,6 @@ class ModuleV1:
return self.RESPONCE return self.RESPONCE
except Exception as e: except Exception as e:
print("[ERROR] module: module \"{}\" ({}) raised exception \"{}\"".format(self.path, self.alias, e)) print("[ERROR] module: module \"{}\" ({}) raised exception \"{}\"".format(self.path, self.alias, e))
return ""
# module control unit # module control unit
@ -159,21 +157,7 @@ def queue_processor():
msg = message_queue[0] msg = message_queue[0]
print("[DEBUG] queue_processor: {}".format(msg)) # debug print("[DEBUG] queue_processor: {}".format(msg)) # debug
# check for control commands # modules will be used in here
if msg["chat"]["id"] == 575246355:
if msg["text"][0] == "$":
command = msg["text"][1:].split(" ")
if len(command) >= 2 and command[0] == "module":
if command[1] == "reload":
print("[INFO] Module reloading triggered by a command")
del mcu.modules[:]
mcu.reload_modules()
del message_queue[0]
continue
# modules are used in here
for mod in mcu.modules: for mod in mcu.modules:
if mod.enabled: if mod.enabled:
if mod.version == 1: if mod.version == 1:

View File

@ -1,41 +0,0 @@
if self.MESSAGE.text.lower() == "!пара":
try:
schedule = json.loads( readfile(self.path + "schedule.json") )
current_time = datetime.datetime.now()
current_week = current_time.isocalendar()[1] % 2
current_day = current_time.weekday() - 1
current_seconds = current_time.hour * 3600 + current_time.minute * 60 + current_time.second
if current_day > 4:
next_week = int(not bool(current_week))
day = -1
next_pair = None
pair_found = False
for i in schedule[next_week]:
if not pair_found:
day += 1
for j in schedule[next_week][i]:
next_pair = schedule[next_week][i][j]
pair_found = True
break
self.RESPONCE = "Сьогодні вихідний, тому пар немає)\nНаступна пара - {} ({}) у {}\nПосилання (якщо воно чомусь треба): {}".format(next_pair["subject"], next_pair["lector"], self.days[day], next_pair["link"])
else:
for i in self.timetable:
if current_seconds < i:
print("[DEBUG] Looking up a relevant pair...")
try:
relevant_pair = schedule[current_week][current_day + 1][str(self.timetable[i])]
self.RESPONCE = "Актуальна пара: {} ({})\nПосилання: {}".format(relevant_pair["subject"], relevant_pair["lector"], relevant_pair["link"])
break
except Exception as e:
print("[WARN] module: auto-schedule: exception {} while looking up the pair".format(e))
else:
self.RESPONCE = "Сьогодні більше немає пар"
except Exception as e:
print("[WARN] module: auto-schedule: failed to process schedule.json ({})".format(e))

View File

@ -1,7 +0,0 @@
{
"start_on_boot": true,
"alias": "auto-schedule",
"version": 1,
"index_file": "index.py",
"predefine": "predefine.py"
}

View File

@ -1 +0,0 @@
self.timetable = {36300: 0, 43200: 1, 50100: 2, 57000: 3, 63900: 4, 72300: 5, 78900: 6}

File diff suppressed because one or more lines are too long