Add subscription purchase command/Add subscription renewal command/Improve bot version update message
This commit is contained in:
@@ -67,7 +67,7 @@ def get_git_commit_number() -> str:
|
||||
branch = "dev"
|
||||
|
||||
except Exception as e:
|
||||
return f"\n(Требуется обновление через CLI: {e})"
|
||||
return f"\n(Требуется обновление через CLI (команда <code>sudo solobot</code>): {e})"
|
||||
|
||||
try:
|
||||
remote_commit = subprocess.check_output(
|
||||
|
||||
@@ -53,11 +53,18 @@ class Form(FSMContext):
|
||||
|
||||
|
||||
@router.callback_query(F.data == "create_key")
|
||||
@router.message(F.text == "/buy")
|
||||
async def confirm_create_new_key(
|
||||
callback_query: CallbackQuery, state: FSMContext, session: Any
|
||||
callback_query_or_message: CallbackQuery | Message, state: FSMContext, session: Any
|
||||
):
|
||||
tg_id = callback_query.message.chat.id
|
||||
await handle_key_creation(tg_id, state, session, callback_query)
|
||||
if isinstance(callback_query_or_message, CallbackQuery):
|
||||
tg_id = callback_query_or_message.message.chat.id
|
||||
message_or_query = callback_query_or_message
|
||||
else:
|
||||
tg_id = callback_query_or_message.chat.id
|
||||
message_or_query = callback_query_or_message
|
||||
|
||||
await handle_key_creation(tg_id, state, session, message_or_query)
|
||||
|
||||
|
||||
async def handle_key_creation(
|
||||
|
||||
@@ -446,8 +446,16 @@ async def handle_reset_hwid(callback_query: CallbackQuery, session: Any):
|
||||
|
||||
|
||||
@router.callback_query(F.data == "renew_menu")
|
||||
async def process_renew_menu(callback_query: CallbackQuery, session: Any):
|
||||
tg_id = callback_query.from_user.id
|
||||
@router.message(F.text == "/extend")
|
||||
async def process_renew_menu(callback_query_or_message: CallbackQuery | Message, session: Any):
|
||||
try:
|
||||
if isinstance(callback_query_or_message, CallbackQuery):
|
||||
target_message = callback_query_or_message.message
|
||||
tg_id = callback_query_or_message.from_user.id
|
||||
else:
|
||||
target_message = callback_query_or_message
|
||||
tg_id = callback_query_or_message.from_user.id
|
||||
|
||||
records = await get_keys(session, tg_id)
|
||||
servers_dict = await get_servers(session)
|
||||
all_server_names = set()
|
||||
@@ -484,8 +492,11 @@ async def process_renew_menu(callback_query: CallbackQuery, session: Any):
|
||||
builder.row(InlineKeyboardButton(text=MAIN_MENU, callback_data="profile"))
|
||||
image_path = os.path.join("img", "pic_view.jpg")
|
||||
await edit_or_send_message(
|
||||
target_message=callback_query.message,
|
||||
target_message=target_message,
|
||||
text=text,
|
||||
reply_markup=builder.as_markup(),
|
||||
media_path=image_path,
|
||||
)
|
||||
except Exception as e:
|
||||
error_message = f"Ошибка при получении подписок для продления: {e}"
|
||||
await target_message.answer(text=error_message)
|
||||
|
||||
Reference in New Issue
Block a user