Merge branch 'dev' of https://github.com/Vladless/Solo_bot into dev
This commit is contained in:
@@ -82,7 +82,7 @@ async def process_connect_pc(callback_query: CallbackQuery, session: Any):
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.row(InlineKeyboardButton(text=PC_PC, callback_data=f"windows_menu|{key_name}"))
|
||||
builder.row(InlineKeyboardButton(text=PC_MACOS, callback_data=f"macos_menu|{key_name}"))
|
||||
builder.row(InlineKeyboardButton(text=BACK, callback_data=f"connect_device|{key_name}"))
|
||||
builder.row(InlineKeyboardButton(text=BACK, callback_data=f"view_key|{key_name}"))
|
||||
|
||||
await edit_or_send_message(
|
||||
target_message=callback_query.message,
|
||||
@@ -142,7 +142,7 @@ async def process_connect_tv(callback_query: CallbackQuery, session: Any):
|
||||
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.row(InlineKeyboardButton(text=TV_CONTINUE, callback_data=f"continue_tv|{key_name}"))
|
||||
builder.row(InlineKeyboardButton(text=BACK, callback_data=f"connect_device|{key_name}"))
|
||||
builder.row(InlineKeyboardButton(text=BACK, callback_data=f"view_key|{key_name}"))
|
||||
builder.row(InlineKeyboardButton(text=MAIN_MENU, callback_data="profile"))
|
||||
|
||||
await edit_or_send_message(
|
||||
|
||||
@@ -40,6 +40,8 @@ from handlers.utils import (
|
||||
get_least_loaded_cluster,
|
||||
is_full_remnawave_cluster,
|
||||
)
|
||||
from hooks.hooks import run_hooks
|
||||
from hooks.hook_buttons import insert_hook_buttons
|
||||
from logger import logger
|
||||
|
||||
|
||||
@@ -170,6 +172,13 @@ async def key_cluster_mode(
|
||||
builder.row(InlineKeyboardButton(text=SUPPORT, url=SUPPORT_CHAT_URL))
|
||||
builder.row(InlineKeyboardButton(text=MAIN_MENU, callback_data="profile"))
|
||||
|
||||
try:
|
||||
hook_commands = await run_hooks("key_creation_complete", chat_id=tg_id, admin=False, session=session, email=email, key_name=key_name)
|
||||
if hook_commands:
|
||||
builder = insert_hook_buttons(builder, hook_commands)
|
||||
except Exception as e:
|
||||
logger.warning(f"[KEY_CREATION_COMPLETE] Ошибка при применении хуков: {e}")
|
||||
|
||||
expiry_time_local = expiry_time.astimezone(moscow_tz)
|
||||
expiry_time_local - datetime.now(moscow_tz)
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ from handlers.utils import (
|
||||
get_least_loaded_cluster,
|
||||
is_full_remnawave_cluster,
|
||||
)
|
||||
from hooks.hooks import run_hooks
|
||||
from hooks.hook_buttons import insert_hook_buttons
|
||||
from logger import logger
|
||||
from panels.remnawave import RemnawaveAPI
|
||||
from panels.three_xui import delete_client, get_xui_instance
|
||||
@@ -498,6 +500,13 @@ async def finalize_key_creation(
|
||||
builder.row(InlineKeyboardButton(text=SUPPORT, url=SUPPORT_CHAT_URL))
|
||||
builder.row(InlineKeyboardButton(text=MAIN_MENU, callback_data="profile"))
|
||||
|
||||
try:
|
||||
hook_commands = await run_hooks("key_creation_complete", chat_id=tg_id, admin=False, session=session, email=email, key_name=key_name)
|
||||
if hook_commands:
|
||||
builder = insert_hook_buttons(builder, hook_commands)
|
||||
except Exception as e:
|
||||
logger.warning(f"[KEY_CREATION_COMPLETE] Ошибка при применении хуков: {e}")
|
||||
|
||||
link_to_show = public_link or remnawave_link or "Ссылка не найдена"
|
||||
|
||||
tariff_info = None
|
||||
|
||||
@@ -405,6 +405,13 @@ async def complete_key_renewal(
|
||||
builder = InlineKeyboardBuilder()
|
||||
builder.row(InlineKeyboardButton(text=MY_SUB, callback_data=f"view_key|{email}"))
|
||||
|
||||
try:
|
||||
hook_commands = await run_hooks("renewal_complete", chat_id=tg_id, admin=False, session=session, email=email, client_id=client_id)
|
||||
if hook_commands:
|
||||
builder = insert_hook_buttons(builder, hook_commands)
|
||||
except Exception as e:
|
||||
logger.warning(f"[RENEWAL_COMPLETE] Ошибка при применении хуков: {e}")
|
||||
|
||||
formatted_expiry_date = datetime.fromtimestamp(new_expiry_time / 1000, tz=moscow_tz).strftime("%d %B %Y, %H:%M")
|
||||
|
||||
formatted_expiry_date = formatted_expiry_date.replace(
|
||||
|
||||
@@ -314,8 +314,6 @@ async def render_key_info(message: Message, session: Any, key_name: str, image_p
|
||||
)
|
||||
else:
|
||||
builder.row(InlineKeyboardButton(text=CONNECT_DEVICE, callback_data=f"connect_device|{key_name}"))
|
||||
module_buttons = await run_hooks("view_key_menu", key_name=key_name, session=session)
|
||||
builder = insert_hook_buttons(builder, module_buttons)
|
||||
if HWID_RESET_BUTTON and hwid_count > 0:
|
||||
builder.row(
|
||||
InlineKeyboardButton(
|
||||
@@ -341,6 +339,9 @@ async def render_key_info(message: Message, session: Any, key_name: str, image_p
|
||||
|
||||
builder.row(InlineKeyboardButton(text=BACK, callback_data="view_keys"))
|
||||
builder.row(InlineKeyboardButton(text=MAIN_MENU, callback_data="profile"))
|
||||
|
||||
module_buttons = await run_hooks("view_key_menu", key_name=key_name, session=session)
|
||||
builder = insert_hook_buttons(builder, module_buttons)
|
||||
|
||||
await edit_or_send_message(
|
||||
target_message=message,
|
||||
|
||||
@@ -63,8 +63,8 @@ async def kassai_payment_webhook(request: web.Request):
|
||||
|
||||
async with async_session_maker() as session:
|
||||
await update_balance(session, tg_id, amount_float)
|
||||
await send_payment_success_notification(tg_id, amount_float, session)
|
||||
await add_payment(session, tg_id, amount_float, "kassai")
|
||||
await send_payment_success_notification(tg_id, amount_float, session)
|
||||
|
||||
processed_payments.add(intid)
|
||||
if merchant_order_id:
|
||||
|
||||
+1
-1
@@ -59,8 +59,8 @@ async def wata_payment_webhook(request: web.Request):
|
||||
return web.Response(status=400)
|
||||
async with async_session_maker() as session:
|
||||
await update_balance(session, int(tg_id), float(amount))
|
||||
await send_payment_success_notification(tg_id, float(amount), session)
|
||||
await add_payment(session, int(tg_id), float(amount), "wata")
|
||||
await send_payment_success_notification(tg_id, float(amount), session)
|
||||
logger.info(f"✅ WATA: баланс пополнен для пользователя {tg_id} на {amount}")
|
||||
elif data.get("transactionStatus") == "Declined":
|
||||
logger.warning(f"WATA: транзакция отклонена: {data}")
|
||||
|
||||
Reference in New Issue
Block a user