mirror of
https://github.com/Faridik/Carolyn.git
synced 2026-07-08 05:11:52 +00:00
Добавил обработку ошибок в /grades
This commit is contained in:
parent
5aef4a741b
commit
043ba6c127
@ -90,18 +90,29 @@ def grades_start(update: Update, context: CallbackContext):
|
||||
Обновляет текст сообщения и дает клавиатуру с выбором дисциплины.
|
||||
"""
|
||||
user_id = update.message.from_user.id
|
||||
username = update.message.from_user.username
|
||||
start = time.monotonic()
|
||||
|
||||
# Длинная операция, сообщим о запущенном процессе.
|
||||
look_msg = update.message.reply_html(MESSAGES.Assignments.START)
|
||||
|
||||
try:
|
||||
data = requests.get(f"{HOST}/grades", params={"tg_id": user_id}).json()
|
||||
req = requests.get(f"{HOST}/grades", params={"tg_id": user_id})
|
||||
data = req.json()
|
||||
except:
|
||||
LOG.exception("Failed to get grades.")
|
||||
update.message.reply_sticker(MESSAGES.Stickers.DEAD)
|
||||
return ConversationHandler.END
|
||||
|
||||
if req.status_code != 200:
|
||||
LOG.error(f"Ошибка получения оценок у пользователя @{username} {data}")
|
||||
err = data.get("error", "")
|
||||
update.message.reply_text(text=MESSAGES.Assignments.failure(err))
|
||||
diff = time.monotonic() - start
|
||||
look_msg.edit_text(MESSAGES.Assignments.timeit(diff))
|
||||
update.message.reply_sticker(MESSAGES.Stickers.bad())
|
||||
return
|
||||
|
||||
# При инициализации бота словарь отсутствует
|
||||
if "fingerprints" not in context.bot_data:
|
||||
context.bot_data["fingerprints"] = defaultdict(str)
|
||||
|
||||
@ -58,6 +58,14 @@ class Messages:
|
||||
def timeit(t: float):
|
||||
return f"⏱ Посмотрели за {t:.2f}с"
|
||||
|
||||
@staticmethod
|
||||
def failure(err: str):
|
||||
cases = {
|
||||
"StudentNotFound": "⛔ Для получения оценок нужно зарегистрироваться."
|
||||
+ "Команда /start поможет с регистрацией",
|
||||
}
|
||||
return cases.get(err, "😟 Возникли неполадки")
|
||||
|
||||
class Sub:
|
||||
START = "📜✍ Оформляю подписку на уведомления..."
|
||||
SUBBED = "👌 Подписка на уведомления оформлена"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user