diff --git a/handlers/admin/admin_servers.py b/handlers/admin/admin_servers.py
index 17be59c8..53792c59 100644
--- a/handlers/admin/admin_servers.py
+++ b/handlers/admin/admin_servers.py
@@ -50,7 +50,6 @@ async def handle_servers_editor(callback_query: types.CallbackQuery):
"🌐 Кластеры — это пространство серверов, в пределах которого создается подписка.\n"
"💡 Если вы хотите выдавать по 1 серверу, то добавьте всего 1 сервер в кластер.\n\n"
"⚠️ Важно: Кластеры удаляются автоматически, если удалить все серверы внутри них.\n\n",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
@@ -60,8 +59,7 @@ async def handle_add_cluster(callback_query: types.CallbackQuery, state: FSMCont
await callback_query.message.answer(
"🔧 Введите имя нового кластера:\n\n"
"Имя кластера должно быть уникальным и на английском языке.\n"
- "Пример: cluster2 или us_east_1",
- parse_mode="HTML",
+ "Пример: cluster2 или us_east_1"
)
await state.set_state(UserEditorState.waiting_for_cluster_name)
@@ -100,7 +98,6 @@ async def handle_cluster_name_input(message: types.Message, state: FSMContext):
f"Введите имя сервера для кластера {cluster_name}:\n\n"
"Рекомендуется указать локацию сервера в имени.\n\n"
"Пример: server-asia, server-europe",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await state.set_state(UserEditorState.waiting_for_server_name)
@@ -149,7 +146,6 @@ async def handle_server_name_input(message: types.Message, state: FSMContext):
"API URL должен быть в следующем формате:\n\n"
"https://your_domain:port/panel_path\n\n"
"URL должен быть без слэша на конце!\n",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await state.set_state(UserEditorState.waiting_for_api_url)
@@ -176,7 +172,6 @@ async def handle_api_url_input(message: types.Message, state: FSMContext):
if not api_url.startswith("https://"):
await message.answer(
"❌ API URL должен начинаться с https://. Попробуйте снова.",
- parse_mode="HTML",
)
return
@@ -198,7 +193,6 @@ async def handle_api_url_input(message: types.Message, state: FSMContext):
"https://your_domain:port_sub/sub_path\n\n"
"URL должен быть без слэша и имени клиента на конце!\n"
"Его можно увидеть в панели 3x-ui в информации о клиенте.",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await state.set_state(UserEditorState.waiting_for_subscription_url)
@@ -225,7 +219,6 @@ async def handle_subscription_url_input(message: types.Message, state: FSMContex
if not subscription_url.startswith("https://"):
await message.answer(
"❌ subscription_url должен начинаться с https://. Попробуйте снова.",
- parse_mode="HTML",
)
return
@@ -244,7 +237,6 @@ async def handle_subscription_url_input(message: types.Message, state: FSMContex
await message.answer(
f"Введите inbound_id для сервера {server_name} в кластере {cluster_name}:\n\n"
"Это номер подключения vless в вашей панели 3x-ui. Обычно это 1 при чистой настройке по гайду.\n\n",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await state.set_state(UserEditorState.waiting_for_inbound_id)
@@ -501,7 +493,6 @@ async def handle_manage_server(callback_query: types.CallbackQuery, state: FSMCo
f"📡 API URL: {api_url}\n"
f"🌐 Subscription URL: {subscription_url}\n"
f"🔑 Inbound ID: {inbound_id}",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
else:
@@ -570,7 +561,6 @@ async def handle_add_server(callback_query: types.CallbackQuery, state: FSMConte
f"Введите имя сервера для кластера {cluster_name}:\n\n"
"Рекомендуется указать локацию сервера в имени.\n\n"
"Пример: server-asia, server-europe",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
@@ -598,7 +588,6 @@ async def handle_backup_cluster(callback_query: types.CallbackQuery):
await callback_query.message.answer(
f"Бэкап для кластера {cluster_name} был успешно создан и отправлен администраторам!\n\n"
f"🔔 Бэкапы отправлены в боты панелей.",
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
await callback_query.answer()
diff --git a/handlers/coupons.py b/handlers/coupons.py
index 15b3aa55..eb0f7d4c 100644
--- a/handlers/coupons.py
+++ b/handlers/coupons.py
@@ -41,7 +41,7 @@ async def process_coupon_code(message: types.Message, state: FSMContext, session
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
await message.answer(
- activation_result, reply_markup=builder.as_markup(), parse_mode="HTML"
+ activation_result, reply_markup=builder.as_markup()
)
await state.clear()
diff --git a/handlers/instructions/instructions.py b/handlers/instructions/instructions.py
index 215b1452..a77e63ba 100644
--- a/handlers/instructions/instructions.py
+++ b/handlers/instructions/instructions.py
@@ -95,7 +95,6 @@ async def process_connect_pc(callback_query: types.CallbackQuery, session: Any):
await callback_query.message.answer(
instruction_message,
reply_markup=builder.as_markup(),
- parse_mode="HTML",
disable_web_page_preview=True,
)
@@ -115,7 +114,6 @@ async def process_connect_tv(callback_query: types.CallbackQuery):
await callback_query.message.answer(
text=CONNECT_TV_TEXT,
reply_markup=builder.as_markup(),
- parse_mode="HTML",
disable_web_page_preview=True,
)
@@ -156,5 +154,5 @@ async def process_continue_tv(callback_query: types.CallbackQuery):
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
await callback_query.message.answer(
- text=message_text, reply_markup=builder.as_markup(), parse_mode="HTML"
+ text=message_text, reply_markup=builder.as_markup()
)
diff --git a/handlers/utils.py b/handlers/utils.py
index b190e158..c482ff7f 100644
--- a/handlers/utils.py
+++ b/handlers/utils.py
@@ -106,7 +106,7 @@ async def handle_error(
except Exception as delete_error:
logger.warning(f"Не удалось удалить сообщение: {delete_error}")
- await bot.send_message(tg_id, message, parse_mode="HTML")
+ await bot.send_message(tg_id, message)
except Exception as e:
logger.error(f"Ошибка при обработке ошибки: {e}")
diff --git a/servers.py b/servers.py
index eacfc9e9..a5920cc6 100644
--- a/servers.py
+++ b/servers.py
@@ -132,7 +132,6 @@ async def notify_admin(server_name: str):
"Проверьте соединение к серверу, подключение к панели или удалите его из таблицы серверов в боте, "
"чтобы не выдать подписку к неработающему серверу."
),
- parse_mode="HTML",
reply_markup=builder.as_markup(),
)
logger.info(