Не понимаю как подать данные для запроса в БД через обработчик телеграмм бота
Есть вот такая функция
def add_tren(day,bic,waist,chest,tric):
'''добавляются нужные данные в бд'''
cur.execute('INSERT INTO data VALUES(?,?,?,?,?)',(day,bic,waist,chest,tric))
base.commit()
И есть вот такой недооформленый (с этим и надо помочь) обработчик
@dp.message_handler(commands=['wr'])
async def wr_tren(message : types.Message):
await bot.send_message(message.chat.id,add_tren(ВОТ ТУТ МНЕ НУЖНО КАК ТО ЗАДАТЬ ДАННЫЕ С КЛАВИАТУРЫ)
Нет понимания как закинуть аргументы в функцию через клавиатуру. Заранее всем спасибо!
Ответы (1 шт):
Автор решения: Артем Торшин
→ Ссылка
Вот такой обработчик решил мою проблему:
@dp.message_handler(commands=['wr'])
async def wr_tren(message : types.Message):
day = message.text.split(',')[0][4:]
bic = message.text.split(',')[1]
waist = message.text.split(',')[2]
chest = message.text.split(',')[3]
tric = message.text.split(',')[4]
await message.answer(add_tren(day,bic,waist,chest,tric))
Теперь при команде
/wr friday,20,15,25,20
в таблицу БД корректно попадают все значения.Если кто то подскажет более лучший вариант, либо какие то нарекания по поводу синтаксиса, буду рад увидеть. Единственное что смущает при запуске бота локально, и выполнении команды /wr -- в терминал выскакивает
aiogram.utils.exceptions.MessageTextIsEmpty: Message text is empty
но функция и обработчик хорошо отрабатывают свои действия.Может кто-то знает с чем связана ошибка? Всем спасибо !