У цій публікації ви дізнаєтесь як створити анонімний чат в Telegram.
По-перше, слід зазначити, що звичайні групові чати в Telegram не є анонімними (тобто всі учасники чату можуть бачити ваше ім'я, аватар та опис вашого профілю).
По-друге, давайте розглянемо випадки, коли анонімний чат може бути корисний:
для надання психологічної підтримки без оприлюднення особистої інформації для забезпечення більшої відкритості;
для проведення обговорень питань, про які складно говорити відкрито через можливі утиски;
для знайомств, благодійності, інформування у випадках коли з тих чи інших причин людина бажає залишатись анонімною.
Щоб забезпечити анонімність нам доведеться створити чат-бота, який буде отримувати повідомлення користувачів та відправляти його іншим учасникам з нікнеймом замість імені. Для налаштування логіки роботи чат-бота скористаємось найпростішим способом, а саме сервісом-конструктором для налаштування ботів Flow XO.
Як зареєструвати бота та підключити його до Flow XO читайте в цій публікації (етапи 0 та 1), а ми перейдемо відразу до налаштування логіки роботи чат-бота.
Для забезпечення анонімного спілкування нам буде достатньо двох flow-ів:
Отримання всіх повідомлень користувача.
Надсилання всіх повідомлень іншим учасникам чату (підписникам чат-бота).
Отримання всіх повідомлень користувача. Встановити в свій акаунт flow ви можете за цим посиланням.
У даній логічній послідовності використовується тригер "Catch all", який перехоплює всі повідомлення кожного з користувачів.
Далі три блоки, які спрацьовують, коли людина вперше під'єднується до бота:
Ask nickname - запитуємо бажаний нікнейм.
Set an Attribute nickname - зберігаємо нікнейм в атрибут.
Send a Message welcome - відправляємо привітання в чаті та запрошення до спілкування з іншими учасниками.
Кожен з цих блоків має фільтр, який дозволяє відправити повідомлення тільки тим, хто щойно приєднався (тобто ще не має нікнейму):
Усі інші блоки послідовності будуть виконані тільки для дійсних учасників (тобто тих, хто має нікнейм):
"Label try make request" - позначення, що використаємо для спроби повторного надсилання у випадку помилки. А дія "Make a HTTP Request" відповідає за передачу даних іншому flow-ву, що здійснить розсилку повідомлення іншим учасникам чату.
Нижче представлений скріншот налаштувань дії "Make a HTTP Request".
Звертаю вашу увагу, що "Request URL" генерується заново при копіюванні flow-ву "Надсилання всіх повідомлень іншим учасникам чату" і в цих налаштуваннях повинен збігатись з ним (тому після копіювання не забудьте замінити його).
Наступні дві дії (очікування та повернення до мітки "Label try make request") спрацьовують тільки коли повідомлення не вдалось надіслати:
Для цього в кожній з дій налаштовано такий фільтр:
Ось і всі дії, які потрібно виконувати при отриманні нових повідомлень від користувачів.
Надсилання всіх повідомлень іншим учасникам чату. Додати в свій акаунт flow ви можете за цим посиланням.
Ця логічна послідовність складається всього з двох частин: тригера і дії надсилання повідомлення:
Проте зверніть увагу на фільтр в тригері:
У першій частині фільтру перевіряємо чи не збігається response_path (унікальний ідентифікатор отримувача повідомлення) з response-path (унікальний ідентифікатор того, хто надсилає повідомлення). Ця перевірка необхідна для того щоб відправлене повідомлення не дублювалося в діалозі того, хто його надіслав.
Друга частина фільтру містить перевірку чи вже представився користувач, тобто долучився до чату вказавши свій нікнейм.
А повідомлення, яке відправимо всім має такий вигляд:
{{receive_a_webhook.nickname}}: {{receive_a_webhook.msg}}
Замість першої частини буде підставлено нікнейм користувача, що надіслав повідомлення, а замість другої повідомлення.
От і все, чат-бот для анонімної переписки готовий 😉
Приклад діалогу в такому анонімному чаті:
Якщо публікація була вам корисна залиште вподобайку 🧡 та ставте запитання в коментарях 👇
Comments