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', },