Робота з посиланнями
Посилання з повідомленням про клік
proxy() | proxy_date() | proxy_timeout()
ЛЕГЕНДА:
! - Обов’язкові параметри
proxy(lnk, one-shot) - генерує посилання з повідомленням про клік. Функція приймає такі параметри: ! посилання -посилання one-shot -індикатор, що посилання одноразове. Просто передайте значення 1.
proxy_date(lnk, date, time) - генерує посилання з повідомленням про клік і вказаним часом закінчення дії. Функція приймає такі параметри: ! посилання - посилання ! date - дата завершення дії посилання ! time - час завершення дії посилання one-shot - індикатор, що посилання одноразове. Просто передайте 1.
proxy_timeout(lnk, minutes, one-shot) - генерує посилання з повідомленням про клік і вказаним таймером доступу. Функція приймає такі параметри: ! посилання - посилання ! minutes - кількість хвилин, протягом яких посилання залишається активним. one-shot - індикатор, що посилання одноразове. Просто передайте 1.
Приклад
Розгляньмо простий приклад:

Ми створили два proxy-посилання і вставили їх у кнопки та текст повідомлення. Оскільки ми тестуємо в Telegram, це гарна нагода пригадати, як правильно форматувати посилання за допомогою Markdown. Для обробки спеціальних символів ми використали функцію tg_escape().
Ось як їх бачить клієнт, наприклад, у Telegram:

Коли клієнт натискає на посилання, ми отримуємо callback:

Давайте налаштуємо відповідь на цю подію:

Тепер давайте протестуємо функції видалення посилань:

Таким чином, якщо клієнт спробує скористатися одноразовим посиланням після його видалення, він отримає помилку, оскільки посилання більше не існує.
Давайте видалимо посилання з обмеженим часом:

Після виконання функції в картці клієнта не залишається proxy-посилань, і будь-яка спроба перейти за посиланням повертає ту саму помилку.
Приклад коду для копіювання
Приклад коду для поля "Повідомлення" (не забудьте увімкнути Markdown якщо ви працюєте з Telegram):
*Тестування посилань:*
[Натисніть](#{link3})або протестуйте, використовуючи такий формат виводу:
Тестування посилань:
#{link2}Приклад коду в полі "Калькулятор":
link1=proxy('https://mavibot.ai/', 1)
link2=short_date('https://mavibot.ai/#tariff', '11.06.2025', '2pm')
link3=tg_escape(link2)Коли клієнт натискає на proxy-посилання, ви отримаєте callback у вигляді link_was_pressed . Це дає змогу налаштувати реакцію на натискання посилання.
Для цього введіть отриманий callback у поле "Умова" та встановіть тип збігу Exact Match.
Скорочення посилань
short() | short_date() | short_timeout()
ЛЕГЕНДА:
! - Обов’язкові параметри
short(lnk, one-shot) - генерує посилання без повідомлення про клік. Функція приймає такі параметри: ! посилання -посилання one-shot -індикатор, що посилання одноразове. Просто передайте значення 1.
short_date(lnk, date, time) - генерує посилання без повідомлення про клік і з указаним часом завершення дії. Функція приймає такі параметри: ! посилання - посилання ! date - дата завершення дії посилання ! time - час завершення дії посилання one-shot - індикатор, що посилання одноразове. Просто передайте 1.
short_timeout(lnk, minutes, one-shot) - генерує посилання без повідомлення про клік і з указаним таймером доступу. Функція приймає такі параметри: ! посилання - посилання ! minutes - кількість хвилин, протягом яких посилання залишається активним. one-shot - індикатор, що посилання одноразове. Просто передайте 1.
Видалення посилань
remove_links() | remove_one_time_links()| remove_timer_links()
ЛЕГЕНДА:
! - Обов’язкові параметри
remove_links() - деактивація всіх скорочених посилань, надісланих клієнту
remove_one_time_links() - деактивація всіх одноразових посилань, надісланих клієнту
remove_timer_links() - деактивація всіх посилань з обмеженим часом, надісланих клієнту
Посилання для квізу в Telegram-боті
quiz_link_timeout() | quiz_link_date() | quiz_link()
Зверніть увагу!
Термін дії посилання обмежений 21 днем, тому його потрібно оновлювати!
Щоб увімкнути відображення квізу в Telegram, потрібно:
1. Скопіювати ID сторінки сайту. Для цього перейдіть у розділ "Сайти" та виберіть потрібний сайт:

Далі в тексті ми будемо називати mini_landing_page_id назвою змінної.
2. У полі "Калькулятор" використайте одну з таких функцій:
ЛЕГЕНДА:
! - Обов’язкові параметри
quiz_link_timeout(mini_landing_page_id, minutes) - генерує посилання з обмеженням терміну дії, заданим у хвилинах
Параметри:
! mini_landing_page_id - ID сторінки сайту minutes - час дії посилання в хвилинах (тип: число)
quiz_link_date(mini_landing_page_id, date, time) - генерує посилання із завершенням дії у певні дату й час
Параметри:
! mini_landing_page_id - ID сторінки сайту date - дата активності посилання (формат: dd.mm.yyyy) time - час активності посилання (формат: hh:mm)
quiz_link(mini_landing_page_id) - генерує посилання без часу завершення дії
Параметри:
! mini_landing_page_id - ID сторінки сайту
Приклад

3. Створіть Telegram Web App кнопку та вкажіть назву змінної у фігурних дужках зі знаком решітки.

Важливо! Переконайтеся, що значення змінної правильно збережено в розширених налаштуваннях.

Якщо ви використовуєте quiz_link_timeout для перенаправлення клієнта на сторінку сайту, ви можете використовувати змінні клієнта в заголовку та описі сторінки. Наприклад, якщо у клієнта є змінна name зі значенням "John", а опис сторінки містить "Hi #{name}, how are you?", вивід буде "Hi John, how are you?". Однак якщо в клієнта немає цієї змінної, значення буде взято із глобальних змінних проєкту.
Увага! Будьте обережні, використовуючи посилання без часу завершення дії. Якщо посилання буде передано комусь іншому, і ця людина пройде квіз, результати буде записано за клієнтом, для якого посилання було спочатку згенеровано.
Last updated