def confirm_sub(mes: types.Message): if mes.text == 'Подтвердить ✅': price = db_acces.get_price_for_new_channel(mes.from_user.id) count = db_acces.get_sub_for_new_channel(mes.from_user.id) end_price = price * count balance = db_acces.get_user_balance(mes.from_user.id) if (balance - end_price) >= 0: db_acces.set_user_balance(mes.from_user.id, balance - end_price) db_acces.publish_channel_order(mes.from_user.id) bot.send_message(mes.from_user.id, 'Ваш заказ успешно оформлен!', reply_markup=get_main_menu_markup()) db_acces.set_user_state(mes.from_user.id, states.CHOOSE_OPTION) else: bot.send_message( mes.from_user.id, 'Недостаточно средств! Пополните свой баланс и повторите заказ снова', reply_markup=get_main_menu_markup()) db_acces.delete_post_order(mes.from_user.id) db_acces.set_user_state(mes.from_user.id, states.CHOOSE_OPTION) elif mes.text == 'Отмена': bot.send_message(mes.from_user.id, 'Отменено', reply_markup=get_main_menu_markup()) db_acces.delete_post_order(mes.from_user.id) db_acces.set_user_state(mes.from_user.id, states.CHOOSE_OPTION) else: bot.send_message(mes.from_user.id, 'Какой-то странный ответ. Попробуйте еще раз')
def set_price_for_watch(mes: types.Message): if not mes.text == 'Отмена': try: price = float(mes.text) except ValueError: bot.send_message(mes.from_user.id, 'Неверное значение. Попробуйте еще раз') else: if price >= 0.04: bot.send_message( mes.from_user.id, 'Отлично! Теперь введите желаемое количество просмотров', reply_markup=types.ReplyKeyboardRemove()) db_acces.set_price_for_new_post(mes.from_user.id, price) db_acces.set_user_state(mes.from_user.id, states.SET_COUNT_OF_WATCH) else: bot.send_message(mes.from_user.id, 'Минимальная стоимость просмотра: 0.04р') else: db_acces.set_user_state(mes.from_user.id, states.CHOOSE_OPTION) db_acces.delete_post_order(mes.from_user.id) bot.send_message(mes.from_user.id, 'Отменено', reply_markup=get_main_menu_markup())