Многие люди любят получать ответы от «гадалки», но не всегда готовы раскрывать свою личность. Анонимные вопросы позволяют сохранить конфиденциальность, а гадалке – собрать интересный материал без лишних предрассудков. В этой статье мы разберём, как организовать анонимный приём вопросов в самых популярных мессенджерах: WhatsApp, Telegram и Viber. Вы узнаете, какие готовые решения существуют, как создать собственного бота и какие меры безопасности следует соблюдать.
Содержание
- Зачем нужна анонимность?
- Краткий обзор возможностей мессенджеров
- Готовые сервисы и боты
- Создание собственного анонимного бота
- Telegram
- Viber
- Безопасность и конфиденциальность
- Часто задаваемые вопросы
Зачем нужна анонимность?
Анонимные вопросы полезны в нескольких сценариях:
- Снятие барьера стеснения. Люди охотнее задают личные вопросы, если их имя не будет раскрыто.
- Защита личных данных. В эпоху утечек информации анонимность помогает избежать нежелательного контакта.
- Повышение вовлечённости. Анонимные опросы и «вопрос‑ответ» часто получают больше откликов, чем открытые.
Краткий обзор возможностей мессенджеров
Telegram
Telegram предоставляет официальное API для создания ботов (Bot API). С помощью него можно реализовать полностью анонимный канал вопросов, где пользователь получает уникальную ссылку и может задавать вопросы без указания имени.
Для WhatsApp официально доступен WhatsApp Business API. Он ориентирован на компании, но с помощью сторонних платформ (например, Twilio, 360dialog) можно построить простой бот‑опросник, который будет принимать сообщения без привязки к номеру отправителя (через «чат‑бот»‑интерфейс).
Viber
Viber предлагает Viber Public Account API. С помощью него можно создать публичный аккаунт, настроить автоматический приём сообщений и скрывать идентификатор отправителя, используя «анонимный чат‑бот».
Готовые сервисы и боты
Если вы не хотите писать код, используйте готовые решения:
- Ask.fm‑подобные боты. На GitHub есть репозитории, например anon-questions-bot, которые генерируют уникальные ссылки для анонимных вопросов.
- Конструкторы чат‑ботов. Платформы Chatfuel, ManyChat, BotFather (для Telegram) позволяют собрать бота без программирования. В большинстве случаев достаточно добавить блок «Получить сообщение» и отключить передачу данных о пользователе.
- Сервисы для анонимных вопросов. На vc.ru публикуются инструкции, как быстро создать форму (Google Forms, Typeform) и разместить её в мессенджере через кнопку‑ссылку.
Эти решения подходят, если вам нужен быстрый старт и нет желания вникать в технические детали.
Как создать собственного анонимного бота
Ниже – пошаговый гайд для каждой платформы. Мы будем использовать Python и популярные библиотеки (aiogram для Telegram, Twilio для WhatsApp, viberbot для Viber). Если вы не знакомы с программированием, можно воспользоваться визуальными конструкторами, но понимание принципов всё равно будет полезным.
Telegram
- Создайте бота через BotFather.
- Откройте чат с
@BotFather. - Отправьте команду
/newbotи следуйте инструкциям. - Сохраните полученный
Token– он понадобится в коде.
- Откройте чат с
- Установите необходимые библиотеки.
pip install aiogram python-dotenv - Создайте файл
.envс токеном.BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 - Напишите простой бот. Ниже – минимальный пример, который сохраняет вопросы в файл и не передаёт данные о пользователе.
import os
from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor
from dotenv import load_dotenv
load_dotenv
TOKEN = os.getenv("BOT_TOKEN")
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
QUESTIONS_FILE = "questions.txt"
@dp.message_handler(commands=["start"])
async def cmd_start(message: types.Message):
await message.reply(
"👋 Привет! Я принимаю анонимные вопросы для гадалки.
"
"Просто напиши свой вопрос – имя не будет передано;"
)
@dp.message_handler
async def handle_question(message: types.Message):
# Сохраняем только текст, без данных о пользователе
with open(QUESTIONS_FILE, "a", encoding="utf-8") as f:
f.write(message.text + "
---
")
await message.reply("✅ Вопрос получен! Гадалка скоро ответит.")
if __name__ == "__main__":
executor;start_polling(dp, skip_updates=True)
Запустите скрипт: python bot.py. Теперь любой пользователь может отправить вопрос, а вы получаете их в файле questions.txt без привязки к аккаунту.
Дополнительные функции
- Отправка ответа гадалки в виде инлайн‑кнопки (используйте
InlineKeyboardMarkup). - Ограничение количества вопросов от одного IP (понадобится сервер и база данных).
- Автоматическая публикация вопросов в канал или чат‑группу.
Для WhatsApp проще воспользоваться облачной платформой Twilio (есть бесплатный пробный период).
- Создайте аккаунт в Twilio и активируйте WhatsApp Sandbox.
- Получите Account SID и Auth Token.
- Установите библиотеку Twilio:
- Создайте файл
.env: - Напишите простой Flask‑сервер, который будет принимать сообщения и сохранять их анонимно.
pip install twilio flask python-dotenv TWILIO_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_TOKEN=your_auth_token
WHATSAPP_NUMBER=whatsapp:+14155238886 # номер sandbox
import os
from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse
from dotenv import load_dotenv
load_dotenv
app = Flask(__name__)
QUESTIONS_FILE = "wa_questions;txt"
@app.route("/whatsapp", methods=["POST"])
def whatsapp:
incoming_msg = request.values.get("Body", "").strip
# Сохраняем без номера отправителя
with open(QUESTIONS_FILE, "a", encoding="utf-8") as f:
f.write(incoming_msg + "
---")
resp = MessagingResponse
resp.message("✅ Вопрос получен! Гадалка скоро ответит.")
return str(resp)
if __name__ == "__main__":
app.run(port=5000)
Запустите приложение (python app.py) и настройте в Twilio webhook URL, указывая https://YOUR_DOMAIN/whatsapp. Теперь любой пользователь, отправивший сообщение в ваш sandbox‑номер, будет анонимно записан.
Viber
Для Viber используем официальный Viber Public Account API. Требуется зарегистрировать публичный аккаунт и получить токен.
- Создайте Public Account в Viber Partners.
- Сохраните Auth Token.
- Установите библиотеку:
- Создайте файл
.env: - Напишите Flask‑приложение.
pip install viberbot flask python-dotenv VIBER_TOKEN=your_viber_auth_token import os
from flask import Flask, request, Response
from viberbot import Api
from viberbot.api.bot_configuration import BotConfiguration
from viberbot.api.messages import TextMessage
from dotenv import load_dotenv
load_dotenv
app = Flask(__name__)
viber = Api(BotConfiguration(
name='Гадалка',
avatar='https://example.com/avatar.png',
auth_token=os.getenv('VIBER_TOKEN')
))
QUESTIONS_FILE = "viber_questions.txt"
@app.route('/viber/webhook', methods=['POST'])
def incoming:
viber_request = viber.parse_request(request.get_data)
if viber_request.event_type == 'message':
message = viber_request.message
if isinstance(message, TextMessage):
# Сохраняем только текст
with open(QUESTIONS_FILE, "a", encoding="utf-8") as f:
f.write(message.text + "
---
")
viber.send_messages(viber_request.sender.id, [
TextMessage(text="✅ Вопрос получен! Гадалка скоро ответит.")
])
return Response(status=200)
if __name__ == "__main__":
app.run(port=5000)
После запуска укажите в настройках публичного аккаунта URL https://YOUR_DOMAIN/viber/webhook. Пользователи смогут писать в ваш аккаунт, а их сообщения сохранятся без привязки к номеру.
Безопасность и конфиденциальность
- Не храните личные данные. При получении сообщения сразу удаляйте метаданные (номер, ID пользователя).
- Шифрование. Если вопросы хранятся в базе, используйте
HTTPSи, по возможности, шифрование полей (например,cryptographyв Python). - Ограничение доступа. Файлы с вопросами должны быть недоступны публично – разместите их за пределами веб‑корня.
- Защита от спама. Добавьте простую проверку на частоту запросов (например, не более 1 сообщения в 30 секунд с одного IP).
- Политика конфиденциальности. Даже если вы не собираете данные, рекомендуется разместить короткое уведомление о том, что сообщения сохраняются анонимно.
Часто задаваемые вопросы
Как сделать так, чтобы ответы гадалки тоже были анонимными?
Отправляйте ответы через тот же бот, но без указания имени отправителя. В Telegram это делается через bot.send_message(chat_id, text) без использования reply_to_message_id. В WhatsApp и Viber аналогично – просто отправляйте обычный текст.
Можно ли получать вопросы через форму и автоматически отправлять их в мессенджер?
Да. Сервисы типа Google Forms или Typeform позволяют настроить webhook, который будет пересылать полученный текст в ваш бот (Telegram, WhatsApp, Viber) через их API.
Нужен ли сервер для работы бота?
Для постоянной работы лучше использовать VPS или облачную функцию (AWS Lambda, Google Cloud Functions). Для тестов подойдёт локальный ngrok – он создаёт публичный URL, перенаправляющий запросы к вашему компьютеру.
Можно ли ограничить количество вопросов от одного пользователя?
В Telegram вы можете хранить user_id в базе и проверять лимит. В WhatsApp и Viber, где идентификатор скрыт, можно ограничить по IP‑адресу (получаем его из заголовков запроса).
Анонимные вопросы гадалке в мессенджерах – это удобный способ собрать интересный контент, не раскрывая личность задающих. Вы можете быстро запустить готовый сервис через конструкторы ботов или полностью контролировать процесс, написав собственного бота для Telegram, WhatsApp или Viber. Главное – помнить о безопасности: не храните лишние данные, используйте HTTPS и ограничивайте доступ к файлам.
Теперь вы знаете, как:
- Выбрать подходящую платформу.
- Настроить готовый сервис или создать собственного бота.
- Обеспечить анонимность и защиту данных.
Удачной работы и интересных предсказаний!