tryparse
This commit is contained in:
parent
663a68ac77
commit
c890b731d8
@ -1,9 +1,32 @@
|
|||||||
import logging
|
import logging
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from daemons.bot import bot
|
from daemons.bot import bot
|
||||||
from helpers.mongo import mongo
|
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:
|
class Processor:
|
||||||
def __init__(self, data: dict):
|
def __init__(self, data: dict):
|
||||||
self.data = data
|
self.data = data
|
||||||
@ -22,7 +45,7 @@ class Processor:
|
|||||||
logging.info("user %s is saying\"%s\"", self.user_id, self.message)
|
logging.info("user %s is saying\"%s\"", self.user_id, self.message)
|
||||||
if "что ты умеешь" in self.message or "помощь" in self.message:
|
if "что ты умеешь" in self.message or "помощь" in self.message:
|
||||||
return {
|
return {
|
||||||
"text": "Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения."
|
"text": "Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения по одной цифре."
|
||||||
}
|
}
|
||||||
if self.data['session']['new']:
|
if self.data['session']['new']:
|
||||||
if self.user_id is None:
|
if self.user_id is None:
|
||||||
@ -31,7 +54,7 @@ class Processor:
|
|||||||
user = mongo.users_collection.find_one({"yandex_id": self.user_id})
|
user = mongo.users_collection.find_one({"yandex_id": self.user_id})
|
||||||
if user is None:
|
if user is None:
|
||||||
return {
|
return {
|
||||||
"text": "Привет! Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения."
|
"text": "Привет! Я буду тебе подсказывать расписание занятий из РУЗа. Чтобы подключить меня к своему расписанию, зайди в бота, нажми на кнопку \"Подключение Алисы\" и назови мне код из сообщения по одной цифре."
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
lesson = self.get_lesson_for_user(user['hse_id'])
|
lesson = self.get_lesson_for_user(user['hse_id'])
|
||||||
@ -45,9 +68,9 @@ class Processor:
|
|||||||
"end_session": True
|
"end_session": True
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
hse_id = self.message.replace(' ', '')
|
hse_id = try_parse(self.message)
|
||||||
try:
|
try:
|
||||||
user = mongo.users_collection.find_one({"hse_id": int(hse_id)})
|
user = mongo.users_collection.find_one({"hse_id": hse_id})
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return {
|
return {
|
||||||
"text": "Извини, не могу разобрать код, назови его еще раз"
|
"text": "Извини, не могу разобрать код, назови его еще раз"
|
||||||
|
Loading…
Reference in New Issue
Block a user