Пишу бота на AIOgram и мне потребовалось записать дату в базу данный SQLite3.
Для выбора даты использую библиотеку telegram_bot_calendar.
Вот фрагмент кода:
@dp.callback_query_handler(DetailedTelegramCalendar.func(), state=Admin.date)
async def inline_kb_answer_callback_handler(query, state=FSMContext):
result, key, step = DetailedTelegramCalendar(locale="ru").process(query.data)
if not result and key:
await bot.edit_message_text(f"Выберите дату",
query.message.chat.id,
query.message.message_id,
reply_markup=key)
elif result:
await bot.edit_message_text(f"Задача назначена на {result}",
query.message.chat.id,
query.message.message_id)
async with state.proxy() as data:
data["date"] = query.message.text
await sqlite_db.sql_add_command(state)
await state.finish()
Вот сам код базы:
import sqlite3 as sq
def sql_start():
global base, cur
base = sq.connect("notific.db")
cur = base.cursor()
if base:
print("Data base connected OK")
base.execute("CREATE TABLE IF NOT EXISTS list(name_task TEXT, date TEXT)")
base.commit()
async def sql_add_command(state):
async with state.proxy() as data:
cur.execute("INSERT INTO list VALUES (?, ?)", tuple(data.values()))
base.commit()
А вот результат:
Записывается всё, кроме даты. В чем может быть дело?