Separate notification for support module unload
This commit is contained in:
parent
949df1e102
commit
e57d0d8617
4 changed files with 55 additions and 30 deletions
|
@ -19,36 +19,13 @@ def have_await_cmd(msg: types.Message):
|
||||||
async def notif():
|
async def notif():
|
||||||
with Session as session:
|
with Session as session:
|
||||||
for u in session.query(User).all():
|
for u in session.query(User).all():
|
||||||
nt = None
|
|
||||||
kf = None
|
|
||||||
tm = None
|
|
||||||
try:
|
try:
|
||||||
nt = u.get_notif()
|
nt = u.get_notif()
|
||||||
kf = u.get_kfet()
|
|
||||||
tm = u.get_tomuss()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
|
else:
|
||||||
if nt:
|
if nt:
|
||||||
await bot.send_message(u.id, lang(u, "notif_event")+str(nt), parse_mode=ParseMode.MARKDOWN)
|
await bot.send_message(u.id, lang(u, "notif_event")+str(nt), parse_mode=ParseMode.MARKDOWN)
|
||||||
if kf:
|
|
||||||
if kf == 1:
|
|
||||||
kf = lang(u, "kfet")
|
|
||||||
elif kf == 2:
|
|
||||||
kf = lang(u, "kfet_prb")
|
|
||||||
else:
|
|
||||||
kf = lang(u, "kfet_err")
|
|
||||||
await bot.send_message(u.id, kf, parse_mode=ParseMode.MARKDOWN)
|
|
||||||
if tm:
|
|
||||||
for i in tm:
|
|
||||||
msg = markdown.text(
|
|
||||||
markdown.bold(i.title),
|
|
||||||
markdown.code(i.summary.replace("<br>", "\n").replace("<b>", "").replace("</b>", "")),
|
|
||||||
sep="\n"
|
|
||||||
)
|
|
||||||
await bot.send_message(u.id, msg, parse_mode=ParseMode.MARKDOWN)
|
|
||||||
u.tomuss_last = str(i)
|
|
||||||
session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
async def notif_cmd(message: types.Message):
|
async def notif_cmd(message: types.Message):
|
||||||
|
|
|
@ -5,7 +5,7 @@ from aiogram import types
|
||||||
from aiogram.types import ParseMode
|
from aiogram.types import ParseMode
|
||||||
from aiogram.utils import markdown
|
from aiogram.utils import markdown
|
||||||
|
|
||||||
from TelegramEDT import dp, key, logger, Session, check_id, modules
|
from TelegramEDT import dp, key, logger, Session, check_id, modules, bot
|
||||||
from TelegramEDT.base import User, KFET_URL
|
from TelegramEDT.base import User, KFET_URL
|
||||||
from TelegramEDT.lang import lang
|
from TelegramEDT.lang import lang
|
||||||
|
|
||||||
|
@ -78,6 +78,24 @@ async def await_cmd(message: types.message):
|
||||||
await message.reply(msg, parse_mode=ParseMode.MARKDOWN, reply_markup=key)
|
await message.reply(msg, parse_mode=ParseMode.MARKDOWN, reply_markup=key)
|
||||||
|
|
||||||
|
|
||||||
|
async def notif():
|
||||||
|
with Session as session:
|
||||||
|
for u in session.query(User).all():
|
||||||
|
try:
|
||||||
|
kf = u.get_kfet()
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(e)
|
||||||
|
else:
|
||||||
|
if kf is not None:
|
||||||
|
if kf == 1:
|
||||||
|
kf = lang(u, "kfet")
|
||||||
|
elif kf == 2:
|
||||||
|
kf = lang(u, "kfet_prb")
|
||||||
|
else:
|
||||||
|
kf = lang(u, "kfet_err")
|
||||||
|
await bot.send_message(u.id, kf, parse_mode=ParseMode.MARKDOWN)
|
||||||
|
|
||||||
|
|
||||||
def load():
|
def load():
|
||||||
logger.info(f"Load {module_name} module")
|
logger.info(f"Load {module_name} module")
|
||||||
dp.register_message_handler(kfet, lambda msg: msg.text.lower() == "kfet")
|
dp.register_message_handler(kfet, lambda msg: msg.text.lower() == "kfet")
|
||||||
|
|
|
@ -1,9 +1,17 @@
|
||||||
from asyncio import sleep
|
from asyncio import sleep
|
||||||
|
|
||||||
from TelegramEDT.edt_notif import notif
|
from TelegramEDT import modules
|
||||||
|
from TelegramEDT.edt_notif import notif as edt_notif
|
||||||
|
from TelegramEDT.kfet import notif as kfet_notif
|
||||||
|
from TelegramEDT.tomuss import notif as tomuss_notif
|
||||||
|
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
while True:
|
while True:
|
||||||
await notif()
|
if "edt_notif" in modules:
|
||||||
|
await edt_notif()
|
||||||
|
if "kfet" in modules:
|
||||||
|
await kfet_notif()
|
||||||
|
if "tomuss" in modules:
|
||||||
|
await tomuss_notif()
|
||||||
await sleep(30)
|
await sleep(30)
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
from aiogram import types
|
from aiogram import types
|
||||||
from aiogram.types import ParseMode
|
from aiogram.types import ParseMode
|
||||||
|
from aiogram.utils import markdown
|
||||||
from feedparser import parse
|
from feedparser import parse
|
||||||
|
|
||||||
from TelegramEDT import dp, key, logger, Session, check_id, modules
|
from TelegramEDT import dp, key, logger, Session, check_id, modules, bot
|
||||||
from TelegramEDT.base import User
|
from TelegramEDT.base import User
|
||||||
from TelegramEDT.lang import lang
|
from TelegramEDT.lang import lang
|
||||||
|
|
||||||
|
@ -39,6 +40,7 @@ async def await_cmd(message: types.message):
|
||||||
msg = lang(user, "settomuss_error")
|
msg = lang(user, "settomuss_error")
|
||||||
else:
|
else:
|
||||||
user.tomuss_rss = message.text
|
user.tomuss_rss = message.text
|
||||||
|
user.tomuss_last = str()
|
||||||
msg = lang(user, "settomuss")
|
msg = lang(user, "settomuss")
|
||||||
user.await_cmd = str()
|
user.await_cmd = str()
|
||||||
session.commit()
|
session.commit()
|
||||||
|
@ -46,6 +48,26 @@ async def await_cmd(message: types.message):
|
||||||
await message.reply(msg, parse_mode=ParseMode.MARKDOWN, reply_markup=key)
|
await message.reply(msg, parse_mode=ParseMode.MARKDOWN, reply_markup=key)
|
||||||
|
|
||||||
|
|
||||||
|
async def notif():
|
||||||
|
with Session as session:
|
||||||
|
for u in session.query(User).all():
|
||||||
|
try:
|
||||||
|
tm = u.get_tomuss()
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(e)
|
||||||
|
else:
|
||||||
|
if tm:
|
||||||
|
for i in tm:
|
||||||
|
msg = markdown.text(
|
||||||
|
markdown.bold(i.title),
|
||||||
|
markdown.code(i.summary.replace("<br>", "\n").replace("<b>", "").replace("</b>", "")),
|
||||||
|
sep="\n"
|
||||||
|
)
|
||||||
|
await bot.send_message(u.id, msg, parse_mode=ParseMode.MARKDOWN)
|
||||||
|
u.tomuss_last = str(i)
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
|
||||||
def load():
|
def load():
|
||||||
logger.info(f"Load {module_name} module")
|
logger.info(f"Load {module_name} module")
|
||||||
dp.register_message_handler(settomuss, lambda msg: msg.text.lower() == "settomuss")
|
dp.register_message_handler(settomuss, lambda msg: msg.text.lower() == "settomuss")
|
||||||
|
|
Reference in a new issue