async def add_movie_type(message: types.message, state: FSMContext): data = await state.get_data() m_name = data.get("answer1") m_type = message.text.upper() cursor.execute("INSERT INTO movies VALUES (?, ?)", (m_name.strip(), m_type.strip())) db.commit() await bot.send_message(message.chat.id, f"{m_name, m_type} добавлено в бд") await state.finish()
async def edit_from(message: types.Message, state: FSMContext): post_took = message.text.upper() data = await state.get_data() post_passed = data.get("answer1") await bot.send_message( message.chat.id, f"Хорошо, {post_passed} был(а) отредактировано на {post_took}") cursor.execute("UPDATE movies SET name = (?) WHERE name = (?)", (post_took.strip(), post_passed.strip())) db.commit() await state.finish()
async def edit_from(message: types.Message, state: FSMContext): post_passed = message.text.upper() cursor.execute("SELECT name FROM movies WHERE name = (?)", ([post_passed.strip()])) if cursor.fetchone(): await state.update_data(answer1=post_passed) await bot.send_message(message.chat.id, post_passed + " будет редактировано на:") await MyStates.next() else: await bot.send_message(message.chat.id, "Не могу редачить то, чего нет в базе") await state.finish()
async def delete_from_db(message: types.Message, state: FSMContext): arg = message.text.upper() cursor.execute("SELECT name FROM movies WHERE name = (?)", [(arg.strip())]) if arg.startswith("/"): await state.finish() await bot.send_message( message.chat.id, "Ты ввел знак вызова команды (/), работа FSM приостановлена") elif cursor.fetchone(): cursor.execute("DELETE FROM movies WHERE name = (?)", [(arg.strip())]) db.commit() await bot.send_message(message.chat.id, f"'{arg.strip()}' удалено из бд") else: await bot.send_message(message.chat.id, "Не могу удалить того, чего нет в бд") await state.finish()
async def db_work(message: types.Message): all_m = [] for m in cursor.execute("SELECT * FROM movies"): all_m.append(m) all_m = '\n'.join([', '.join(map(str, m)) for m in all_m]) await bot.send_message(message.chat.id, "Все произведения, которые ты хотел потрогать:" + f"\n<b>{all_m}</b>", parse_mode="html")
async def add_movie_name(message: types.message, state: FSMContext): m_name = message.text.upper() cursor.execute("SELECT name FROM movies WHERE name = (?)", ([m_name.strip()])) if m_name.startswith("/"): await state.finish() await bot.send_message( message.chat.id, "Ты ввел знак вызова команды (/), работа FSM приостановлена") elif cursor.fetchone() is None: await state.update_data(answer1=m_name) await bot.send_message( message.chat.id, f"Отправь мне вид произведения, к которому принадлежит {m_name} (Фильм, сериал и тд)" ) await MyStates.next() else: await bot.send_message( message.chat.id, "Произведение " + m_name + " уже есть в базе данных") await state.finish()