This commit is contained in:
Administrator 2023-04-08 21:29:45 +03:00
parent 663a68ac77
commit c890b731d8

View File

@ -1,9 +1,32 @@
import logging
from typing import Optional
from daemons.bot import bot
from helpers.mongo import mongo
def try_parse(message: str) -> Optional[int]:
letters = {
"ноль": 0,
"один": 1,
"два": 2,
"три": 3,
"четыре": 4,
"пять": 5,
"шесть": 6,
"семь": 7,
"восемь": 8,
"девять": 9
}
final = 0
for word in message.split():
try:
final = final * 10 + letters[word]
except KeyError:
return None
return final
class Processor:
def __init__(self, data: dict):
self.data = data
@ -22,7 +45,7 @@ class Processor:
logging.info("user %s is saying\"%s\"", self.user_id, self.message)
if "что ты умеешь" in self.message or "помощь" in self.message:
return {
"text": "Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения."
"text": "Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения по одной цифре."
}
if self.data['session']['new']:
if self.user_id is None:
@ -31,7 +54,7 @@ class Processor:
user = mongo.users_collection.find_one({"yandex_id": self.user_id})
if user is None:
return {
"text": "Привет! Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения."
"text": "Привет! Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения по одной цифре."
}
else:
lesson = self.get_lesson_for_user(user['hse_id'])
@ -45,9 +68,9 @@ class Processor:
"end_session": True
}
else:
hse_id = self.message.replace(' ', '')
hse_id = try_parse(self.message)
try:
user = mongo.users_collection.find_one({"hse_id": int(hse_id)})
user = mongo.users_collection.find_one({"hse_id": hse_id})
except ValueError:
return {
"text": "Извини, не могу разобрать код, назови его еще раз"