mirror of
https://github.com/Faridik/Carolyn.git
synced 2026-07-08 05:11:52 +00:00
Сделал методы сообщений статичными и убрал init
This commit is contained in:
parent
471cf43f60
commit
f285fb1350
@ -108,11 +108,11 @@ def start(update: Update, context: CallbackContext):
|
||||
student_token = context.args[0] if len(context.args) > 0 else None
|
||||
|
||||
if student_token is None:
|
||||
update.message.reply_markdown_v2(text=MESSAGES.auth.NO_AUTH)
|
||||
update.message.reply_markdown_v2(text=MESSAGES.Auth.NO_AUTH)
|
||||
return
|
||||
|
||||
# Длинная операция, сообщим о запущенном процессе.
|
||||
update.message.reply_text(text=MESSAGES.auth.START)
|
||||
update.message.reply_text(text=MESSAGES.Auth.START)
|
||||
|
||||
LOG.info(f"Authenticanting {user_id}")
|
||||
|
||||
@ -124,18 +124,18 @@ def start(update: Update, context: CallbackContext):
|
||||
data = req.json()
|
||||
except requests.exceptions.RequestException:
|
||||
LOG.exception("@{username} вызвал: Ошибка подключения к сервису Spreadsheets.")
|
||||
update.message.reply_sticker(MESSAGES.stickers.DEAD)
|
||||
update.message.reply_sticker(MESSAGES.Stickers.DEAD)
|
||||
return
|
||||
|
||||
if req.status_code != 200:
|
||||
LOG.error(f"Ошибка авторизации, у пользователя @{username} {data}")
|
||||
err = data.get("error", "")
|
||||
update.message.reply_text(text=MESSAGES.auth.failure(err))
|
||||
update.message.reply_sticker(MESSAGES.stickers.DEAD)
|
||||
update.message.reply_text(text=MESSAGES.Auth.failure(err))
|
||||
update.message.reply_sticker(MESSAGES.Stickers.DEAD)
|
||||
return
|
||||
|
||||
update.message.reply_text(
|
||||
text=MESSAGES.auth.hello(data["student"]),
|
||||
text=MESSAGES.Auth.hello(data["student"]),
|
||||
)
|
||||
|
||||
|
||||
@ -146,21 +146,21 @@ def grades(update: Update, context: CallbackContext):
|
||||
|
||||
start = time.monotonic()
|
||||
# Длинная операция, сообщим о запущенном процессе.
|
||||
look_msg = update.message.reply_html(MESSAGES.score.START)
|
||||
look_msg = update.message.reply_html(MESSAGES.Score.START)
|
||||
try:
|
||||
data = requests.get(f"{HOST}/grades", params={"tg_id": user_id}).json()
|
||||
score = data["score"]
|
||||
grade = data["grade"]
|
||||
n_of_assignments = len(data["assignments"])
|
||||
|
||||
score_message = MESSAGES.score.get(grade, score, n_of_assignments)
|
||||
score_message = MESSAGES.Score.get(grade, score, n_of_assignments)
|
||||
update.message.reply_html(score_message)
|
||||
update.message.reply_sticker(MESSAGES.stickers.bad())
|
||||
update.message.reply_sticker(MESSAGES.Stickers.bad())
|
||||
except:
|
||||
LOG.exception("Failed to get grades.")
|
||||
update.message.reply_sticker(MESSAGES.stickers.DEAD)
|
||||
update.message.reply_sticker(MESSAGES.Stickers.DEAD)
|
||||
diff = time.monotonic() - start
|
||||
look_msg.edit_text(MESSAGES.score.timeit(diff))
|
||||
look_msg.edit_text(MESSAGES.Score.timeit(diff))
|
||||
|
||||
|
||||
def echo(update: Update, context: CallbackContext):
|
||||
|
||||
@ -3,15 +3,17 @@ import random
|
||||
|
||||
class Messages:
|
||||
class Auth:
|
||||
def __init__(self):
|
||||
self.NO_AUTH = "[Правила авторизации](https://github.com/Faridik/Carolyn/wiki/%F0%9F%A6%B8%E2%80%8D%E2%99%82%EF%B8%8F-%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)"
|
||||
self.START = "🔑 Авторизация..."
|
||||
self.NO_ACCESS = "⛔ Нет доступа"
|
||||
NO_AUTH = "[Правила авторизации](https://github.com/Faridik/Carolyn/wiki/%F0%9F%A6%B8%E2%80%8D%E2%99%82%EF%B8%8F-%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F)"
|
||||
START = "🔑 Авторизация..."
|
||||
NO_ACCESS = "⛔ Нет доступа"
|
||||
|
||||
def hello(self, data):
|
||||
return f"Привет, {data['name']} 👋"
|
||||
@staticmethod
|
||||
def hello(data):
|
||||
name = data.get("name", "студент")
|
||||
return f"Привет, {name} 👋"
|
||||
|
||||
def failure(self, err: str):
|
||||
@staticmethod
|
||||
def failure(err: str):
|
||||
cases = {
|
||||
"StudentNotFound": "⛔ Ссылка больше не работает",
|
||||
"StudentAlreadyAuthed": "⛔ Регистрация по этой ссылке уже прошла",
|
||||
@ -19,16 +21,11 @@ class Messages:
|
||||
}
|
||||
return cases.get(err, "😟 Возникли неполадки")
|
||||
|
||||
def success_log(self, data):
|
||||
return f"✅ AUTH: {data['name']} "
|
||||
|
||||
def failure_log(self, data):
|
||||
return f"🟥 AUTH: {data['desc']}"
|
||||
|
||||
class Score:
|
||||
START = "👀 Посмотрим (~3с) ..."
|
||||
|
||||
def get(self, grade, score, n_of_assignments):
|
||||
@staticmethod
|
||||
def get(grade, score, n_of_assignments):
|
||||
summary = (
|
||||
f"Ранг: <b>{score:.2f}</b> {n_of_assignments} зад.\n"
|
||||
+ f"Оценка: <b>{grade:.2f}</b>"
|
||||
@ -40,42 +37,69 @@ class Messages:
|
||||
return f"⏱ Посмотрели за {t:.2f}с"
|
||||
|
||||
class Spreadsheets:
|
||||
def __init__(self):
|
||||
self.DEAD = "⚰ Сервис «таблицы» недоступен"
|
||||
pass
|
||||
|
||||
class Stickers:
|
||||
def __init__(self):
|
||||
# Воробей павлик с колокольчиком и надписью "позор"
|
||||
self.POZOR = "CAACAgIAAxkBAAEm1RhhBZg-2D6NypUeTsnbToD8_LMFTAACuUcAAulVBRjfnofQTkeMnCAE"
|
||||
# кот Сима в петле плачет и показывает палец вверх
|
||||
self.ROPE = "CAACAgIAAxkBAAEm1SFhBZjLaZgFIkvyxfBmAplwUWQFwwACBS0AAulVBRiIaSQ42WLoyyAE"
|
||||
# Акио смотрит на брокколи
|
||||
self.BROCCOLI = "CAACAgIAAxkBAAEm1SVhBZkd24Dy2B_wYSCi6UrNuUjgwQACEUkAAulVBRiykDzrzywbmiAE"
|
||||
# Ян показывает палец вниз
|
||||
self.THUMB_DOWN = "CAACAgIAAxkBAAEm1SthBZlcos0_TbJo8W7mAcqGLNAh2wACJ5cAAp7OCwABDddMclD7Tf8gBA"
|
||||
# Тигр закатывает глаза
|
||||
self.EYES_UP = "CAACAgEAAxkBAAEm1TBhBZmIZTrwzhGSzC47rNFbewQe6QAC4gADOA6CEeTgk4YIcTeWIAQ"
|
||||
# Нутри большими глазами и надписью "пипец"
|
||||
self.PPTS = "CAACAgIAAxkBAAEm1TZhBZnNVwLXmrbZwvdGjxiSwefzDAACn0sAAulVBRhECmBPSGCXHSAE"
|
||||
# Попугай Кент с недовольной мордахой
|
||||
self.GRUMPY_KENT = "CAACAgIAAxkBAAEm1UBhBZn1gXmRfxaK_RqFTj1aFxLY-gACy0EAAulVBRhgQdlH2rd0uyAE"
|
||||
# wojak
|
||||
self.WOJAK = "CAACAgIAAxkBAAEm1UJhBZpfHNYVT_ZLrxUpyi8qRLWJGgACPAADB7lDCi2YrzAEyxJeIAQ"
|
||||
# Лэтишный котик и надпись "ОЙ"
|
||||
self.OOPS = "CAACAgIAAxkBAAEm1URhBZp2li7w2E1M6PirG7UnqLOc2QACSxEAAlTE4UoR1Olz8RANZCAE"
|
||||
# Мем "оп ахах неловко вышло"
|
||||
self.NELOVKO = "CAACAgIAAxkBAAEm1UZhBZqZ94SFa1e6d-Zy5I-6_SC_fQACgwgAAh8MqEiLbHl9nugoYSAE"
|
||||
# Попугай смотрит в зеркало "посмотри что с тобой стало"
|
||||
self.MIRROR = "CAACAgIAAxkBAAEm1VFhBZudma_FmFhybGgXikz3csc0BQAC2UEAAulVBRgkdje995ir7iAE"
|
||||
# Попугай с сигаретой
|
||||
self.CIG = "CAACAgIAAxkBAAEm1VZhBZv6p7GsHS6wcyt2mCXoHJCo-wAC0UEAAulVBRghLLSQAcU6rSAE"
|
||||
# Попугай и песок
|
||||
self.SAND = "CAACAgIAAxkBAAEm1VhhBZwbw83_UVS8A5Crsf3EVAABvWIAAshBAALpVQUYl51K7ci-ClIgBA"
|
||||
# Акио падает в обморок
|
||||
self.PANIC = "CAACAgIAAxkBAAEm1VxhBZxwqRUJmVXDtzmsPJUIIGJgegACB0kAAulVBRiMI-hzK3GcKiAE"
|
||||
# Эникей надпись "умер"
|
||||
self.DEAD = "CAACAgIAAxkBAAEm1aRhBaWXRb_tcI03O1onx0jW0bHmuAACejcAAulVBRi1oSUXeBATmiAE"
|
||||
# Воробей павлик с колокольчиком и надписью "позор"
|
||||
POZOR = (
|
||||
"CAACAgIAAxkBAAEm1RhhBZg-2D6NypUeTsnbToD8_LMFTAACuUcAAulVBRjfnofQTkeMnCAE"
|
||||
)
|
||||
# кот Сима в петле плачет и показывает палец вверх
|
||||
ROPE = (
|
||||
"CAACAgIAAxkBAAEm1SFhBZjLaZgFIkvyxfBmAplwUWQFwwACBS0AAulVBRiIaSQ42WLoyyAE"
|
||||
)
|
||||
# Акио смотрит на брокколи
|
||||
BROCCOLI = (
|
||||
"CAACAgIAAxkBAAEm1SVhBZkd24Dy2B_wYSCi6UrNuUjgwQACEUkAAulVBRiykDzrzywbmiAE"
|
||||
)
|
||||
# Ян показывает палец вниз
|
||||
THUMB_DOWN = (
|
||||
"CAACAgIAAxkBAAEm1SthBZlcos0_TbJo8W7mAcqGLNAh2wACJ5cAAp7OCwABDddMclD7Tf8gBA"
|
||||
)
|
||||
# Тигр закатывает глаза
|
||||
EYES_UP = (
|
||||
"CAACAgEAAxkBAAEm1TBhBZmIZTrwzhGSzC47rNFbewQe6QAC4gADOA6CEeTgk4YIcTeWIAQ"
|
||||
)
|
||||
# Нутри большими глазами и надписью "пипец"
|
||||
PPTS = (
|
||||
"CAACAgIAAxkBAAEm1TZhBZnNVwLXmrbZwvdGjxiSwefzDAACn0sAAulVBRhECmBPSGCXHSAE"
|
||||
)
|
||||
# Попугай Кент с недовольной мордахой
|
||||
GRUMPY_KENT = (
|
||||
"CAACAgIAAxkBAAEm1UBhBZn1gXmRfxaK_RqFTj1aFxLY-gACy0EAAulVBRhgQdlH2rd0uyAE"
|
||||
)
|
||||
# wojak
|
||||
WOJAK = (
|
||||
"CAACAgIAAxkBAAEm1UJhBZpfHNYVT_ZLrxUpyi8qRLWJGgACPAADB7lDCi2YrzAEyxJeIAQ"
|
||||
)
|
||||
# Лэтишный котик и надпись "ОЙ"
|
||||
OOPS = (
|
||||
"CAACAgIAAxkBAAEm1URhBZp2li7w2E1M6PirG7UnqLOc2QACSxEAAlTE4UoR1Olz8RANZCAE"
|
||||
)
|
||||
# Мем "оп ахах неловко вышло"
|
||||
NELOVKO = (
|
||||
"CAACAgIAAxkBAAEm1UZhBZqZ94SFa1e6d-Zy5I-6_SC_fQACgwgAAh8MqEiLbHl9nugoYSAE"
|
||||
)
|
||||
# Попугай смотрит в зеркало "посмотри что с тобой стало"
|
||||
MIRROR = (
|
||||
"CAACAgIAAxkBAAEm1VFhBZudma_FmFhybGgXikz3csc0BQAC2UEAAulVBRgkdje995ir7iAE"
|
||||
)
|
||||
# Попугай с сигаретой
|
||||
CIG = "CAACAgIAAxkBAAEm1VZhBZv6p7GsHS6wcyt2mCXoHJCo-wAC0UEAAulVBRghLLSQAcU6rSAE"
|
||||
# Попугай и песок
|
||||
SAND = (
|
||||
"CAACAgIAAxkBAAEm1VhhBZwbw83_UVS8A5Crsf3EVAABvWIAAshBAALpVQUYl51K7ci-ClIgBA"
|
||||
)
|
||||
# Акио падает в обморок
|
||||
PANIC = (
|
||||
"CAACAgIAAxkBAAEm1VxhBZxwqRUJmVXDtzmsPJUIIGJgegACB0kAAulVBRiMI-hzK3GcKiAE"
|
||||
)
|
||||
# Эникей надпись "умер"
|
||||
DEAD = (
|
||||
"CAACAgIAAxkBAAEm1aRhBaWXRb_tcI03O1onx0jW0bHmuAACejcAAulVBRi1oSUXeBATmiAE"
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def bad(self):
|
||||
"""Возвращает стикер с грустным смыслом."""
|
||||
return random.choice(
|
||||
@ -96,9 +120,3 @@ class Messages:
|
||||
self.PANIC,
|
||||
]
|
||||
)
|
||||
|
||||
def __init__(self):
|
||||
self.auth = self.Auth()
|
||||
self.score = self.Score()
|
||||
self.spreadsheets = self.Spreadsheets()
|
||||
self.stickers = self.Stickers()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user