diff --git a/apps/bot/locales/ru.ftl b/apps/bot/locales/ru.ftl
index 9062c8e..4a0e8e4 100644
--- a/apps/bot/locales/ru.ftl
+++ b/apps/bot/locales/ru.ftl
@@ -63,6 +63,8 @@ agreement =
- подтверждаете согласие на обработку персональных данных согласно Политике конфиденциальности
share-phone-agreement =
Нажимая кнопку «Отправить номер телефона»,
+payment-agreement =
+ Совершая оплату, вы соглашаетесь с Публичной офертой
# Приветственные сообщения
@@ -105,7 +107,7 @@ msg-share-bot =
# Системные сообщения
msg-cancel = ❌ Операция отменена
msg-unhandled = ❓ Неизвестная команда. Попробуйте /start
-msg-cancel-operation = Для отмены операции используйте команду /cancel
+msg-cancel-operation = Для отмены операции используйте команду /cancel
# Ошибки
err-generic = ⚠️ Что-то пошло не так. Попробуйте еще раз через несколько секунд
diff --git a/apps/bot/src/bot/conversations/add-contact.ts b/apps/bot/src/bot/conversations/add-contact.ts
index d76eab3..2214a09 100644
--- a/apps/bot/src/bot/conversations/add-contact.ts
+++ b/apps/bot/src/bot/conversations/add-contact.ts
@@ -42,6 +42,9 @@ export async function addContact(conversation: Conversation, c
await conversation.external(({ t }) =>
combine(t('msg-send-client-contact-or-phone'), t('msg-cancel-operation')),
),
+ {
+ parse_mode: 'HTML',
+ },
);
// Ждём первое сообщение: контакт или текст с номером
diff --git a/apps/bot/src/bot/conversations/subscription.ts b/apps/bot/src/bot/conversations/subscription.ts
index 71fc0df..6b7e8c3 100644
--- a/apps/bot/src/bot/conversations/subscription.ts
+++ b/apps/bot/src/bot/conversations/subscription.ts
@@ -66,7 +66,7 @@ export async function subscription(conversation: Conversation,
return combine(statusLine, fmt`${i}${t('msg-cancel-operation')}${i}`.text);
}),
),
- { reply_markup: keyboard },
+ { parse_mode: 'HTML', reply_markup: keyboard },
);
// ждём выбора
@@ -95,6 +95,18 @@ export async function subscription(conversation: Conversation,
month: '2-digit',
year: 'numeric',
});
+
+ const agreementText = await conversation.external(({ t }) => {
+ return t('payment-agreement', {
+ offerUrl: env.OFFER_URL,
+ privacyUrl: env.PRIVACY_URL,
+ });
+ });
+
+ await ctx.reply(agreementText, {
+ parse_mode: 'HTML',
+ });
+
return ctx.replyWithInvoice(
'Оплата Pro доступа',
combine(
@@ -110,6 +122,7 @@ export async function subscription(conversation: Conversation,
},
],
{
+ protect_content: true,
provider_token: env.BOT_PROVIDER_TOKEN,
start_parameter: 'get_access',
},