71 lines
1.8 KiB
Python
71 lines
1.8 KiB
Python
import logging
|
|
from flask import Flask
|
|
from aiogram import Bot, Dispatcher, executor, types
|
|
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton
|
|
from aiogram.dispatcher.filters import Text
|
|
from models import ArtDavl, db
|
|
from datetime import datetime
|
|
|
|
from app import create_app
|
|
|
|
|
|
API_TOKEN = '5865694626:AAHBUoBSNW0C3_Tzfj7iZQ-6pWiNI64r-Lo'
|
|
|
|
|
|
logging.basicConfig(filename='app.log', encoding='utf-8', level=logging.DEBUG, datefmt='%H:%M:%S')
|
|
|
|
bot = Bot(token=API_TOKEN)
|
|
|
|
dp = Dispatcher(bot)
|
|
|
|
|
|
@dp.message_handler(commands=['start', 'help'])
|
|
async def send_welcome(message: types.Message):
|
|
|
|
"""
|
|
|
|
This handler will be called when user sends `/start` or `/help` command
|
|
|
|
"""
|
|
|
|
await message.answer("Привет! Этот бот предназначен для дневника артериального давления. \n\
|
|
Введите давление и пульс в формате \"123 12 12 хорошо\"")
|
|
|
|
|
|
|
|
@dp.message_handler()
|
|
async def echo(message: types.Message):
|
|
tmp_davl = str(message.text).split()
|
|
logging.debug(tmp_davl)
|
|
davl = []
|
|
if len(tmp_davl) > 3:
|
|
count_len = 0
|
|
for i in range(3):
|
|
count_len = count_len + (len(tmp_davl[i]))
|
|
davl.append(tmp_davl[i])
|
|
count_len = count_len+len(davl[2])
|
|
|
|
stroka =" ".join(tmp_davl)
|
|
davl.append(stroka[count_len:len(stroka)])
|
|
|
|
|
|
|
|
|
|
app = create_app()
|
|
with app.app_context():
|
|
|
|
wtdb = ArtDavl(davlh=davl[0],
|
|
davll=davl[1],
|
|
puls=davl[2],
|
|
sostoyanie=davl[3],
|
|
dateadd=datetime.now().strftime('%d.%m.%Y'),
|
|
timeadd=datetime.now().strftime('%H:%M'))
|
|
db.session.add(wtdb)
|
|
db.session.commit()
|
|
|
|
await message.answer("Сообщение получено")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
executor.start_polling(dp, skip_updates=True)
|