Т‑Банк
Банк Бизнес
Инвестиции Мобильная связь Страхование Путешествия Долями
Войти

Обзор Каталог Пульс Аналитика Академия Терминал
Т‑Банк
Войти
БанкБизнес
ИнвестицииМобильная связьСтрахованиеПутешествияДолями

ОбзорКаталогПульсАналитикаАкадемияТерминал
Назад
#будем
Менее 10 публикаций
VYACHESLAV_SCHAVA
31 августа 2025 в 0:50
Отлично! Переходим к интеграции с WhatsApp — одной из самых массовых платформ для уведомлений и взаимодействия с пользователями. --- # 📱 WhatsApp-бот для онлайн-обучения модели #> ❗ Официальный WhatsApp #business #API не позволяет #подключаться #напрямую без #верификации #бизнеса, но мы #будем #использовать Twilio API, который официально интегрируется с WhatsApp и позволяет: > - Отправлять/получать сообщения > - Принимать команды (`/status`, `/predict`) > - Отправлять алерты о дрейфе > - Работать в продакшене --- ## ✅ Что нужно | Ресурс | Где взять | |-------|----------| | Twilio Account | twilio.com https://twilio.com (есть бесплатный tier) | | WhatsApp Sandbox | В консоли Twilio → Programmable Messaging → WhatsApp | | Телефон для теста | Добавить номер в санбокс (можно временный) | | ngrok | Для проброса localhost (если локально) | --- ## 1. Установка зависимостей Добавь в `requirements.txt`: ```txt twilio requests python-dotenv ``` --- ## 2. Настройка Twilio 1. Зарегистрируйся: https://twilio.com https://twilio.com 2. Перейди: Console → Programmable Messaging → WhatsApp → Sandbox 3. Следуй инструкции: отправь `join <ваш-код>` на указанный номер WhatsApp 4. Запомни: - Sandbox URL: `https://api.twilio.com/...` - Account SID - Auth Token - WhatsApp Sandbox Number (вида `whatsapp:+14155238886`) --- ## 3. `.env` — переменные окружения ```env # Twilio TWILIO_ACCOUNT_SID=ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TWILIO_AUTH_TOKEN=your_auth_token TWILIO_WHATSAPP_NUMBER=whatsapp:+14155238886 # API API_URL=http://api:8000 # Telegram (опционально) TELEGRAM_BOT_TOKEN=7391234567:AAHabcde... ADMIN_CHAT_ID=123456789 # Внутренние WHATSAPP_ADMIN_PHONE=whatsapp:+79991234567 # ваш номер в WhatsApp ``` --- ## 4. `whatsapp_bot/bot.py` ```python # whatsapp_bot/bot.py from flask import Flask, request from twilio.twiml.messaging_response import MessagingResponse import requests import os from dotenv import load_dotenv import logging load_dotenv() # Настройки app = Flask(__name__) API_URL = os.getenv("API_URL", "http://api:8000") ADMIN_PHONE = os.getenv("WHATSAPP_ADMIN_PHONE") # Логирование logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def send_whatsapp_message(to: str, body: str): """Отправка сообщения через Twilio (симуляция — в реальности нужен requests.post)""" # В реальном случае: # from twilio.rest import Client # client = Client(os.getenv("TWILIO_ACCOUNT_SID"), os.getenv("TWILIO_AUTH_TOKEN")) # client.messages.create(from_=os.getenv("TWILIO_WHATSAPP_NUMBER"), to=to, body=body, messaging_service_sid='MG...') logger.info(f"📤 WhatsApp -> {to}: {body}") @app.route("/whatsapp", methods=['POST']) def whatsapp_reply(): incoming_msg = request.values.get('Body', '').strip() sender = request.values.get('From') # вида 'whatsapp:+79991234567' resp = MessagingResponse() msg = resp.message() try: if incoming_msg.lower() in ['привет', 'hi', 'hello', 'start']: reply = ( "🤖 *Привет! Я WhatsApp-бот для онлайн-модели.*\n\n" "Команды:\n" "`/status` — статус модели\n" "`/predict 0.1, -0.5, 2.0` — предсказать\n" "`/help` — помощь" ) msg.body(reply) msg.body("P.S. Используй Markdown: *жирный*, _курсив_") elif incoming_msg.lower() == '/help': reply = ( "📌 *Доступные команды:*\n" "`/status` — состояние модели\n" "`/predict 0.1, -0.5, 2.0` — предсказание\n" "`/alert test` — тестовый алерт (админ)" ) msg.body(reply) elif incoming_msg.lower() == '/status': try:
7
Нравится
Комментировать
Делитесь опытом в Пульсе
Как больше зарабатывать и эффективнее тратить
Т‑Банк
8 800 333-33-33Для звонков по России
Банк
Дебетовые картыПремиумИностранцамКредитные картыКредит наличнымиРефинансированиеАвтокредитВкладыНакопительный счетПодписка ProPrivateДолямиИпотека
Страхование
ОСАГОКаскоКаско по подпискеПутешествия за границуПутешествия по РоссииИпотекаКвартираЗдоровьеБлог Страхования
Путешествия
АвиабилетыОтелиТурыПоезда
Малый бизнес
Расчетный счетРегистрация ИПРегистрация ОООЭквайрингКредитыT‑Bank eCommerceГосзакупкиПродажиБухгалтерияБизнес-картаДепозитыРассрочкиПроверка контрагентовБонусы для бизнесаТопливо для бизнесаЛизинг
Город
Доставка продуктовАфишаТопливоТ‑АвтоИгрыОтслеживание посылокБлог Города
Полезное
Т‑PayВход с Т‑IDИдентификация с T‑IDПлатежиПереводы на картуБиометрияОтзывыМерч Т‑БанкаПромокодыТ‑ПартнерыСервис по возврату денегТ‑ОбразованиеКурс добраТ‑Бизнес секретыТ—ЖТ‑БлогПомощьБизнес-глоссарий
Средний бизнес
Расчетный счетСервисы для выплатТорговый эквайрингКредитыДепозитыВЭДГосзакупкиБизнес-решенияT‑Bank DataT‑IDЛизингАвтодилеры
Т‑Касса
Интернет-эквайрингОблачные кассыВыставление счетовБезналичные чаевыеМассовые выплаты для бизнесаОтраслевые решенияОплата по QR‑кодуБезопасная сделкаВсе сервисы онлайн-платежей
Карьера
Работа в ИТБизнес и процессыРабота с клиентами
Инвестиции
Инвестиционный счетИИСПремиумТрейдингТерминалМаржинальная торговляИнвестиционные турнирыАкцииВалютыФондыОблигацииФьючерсыЗолотые слиткиЦифровые финансовые активыСтратегииПервичные размещенияДолгосрочные сбереженияАкадемия инвестиций
Мобильная связь
Сим‑картаeSIMТарифыПеренос номераРоумингКрасивые номераЗапись звонковВиртуальный номерСекретарьКто звонилЗащитим или вернем деньги
Технологии от Т‑Банка
Речевая аналитикаРаспознавание и синтез речи VoiceKitПлатформа наблюдаемости Sage
Политика обработки персональных данных
© 2006—2026, АО «ТБанк», официальный сайт, универсальная лицензия ЦБ РФ № 2673
Т‑Банк
8 800 333-33-33Для звонков по России
Банк
Малый бизнес
Средний бизнес
Инвестиции
Страхование
Город
Т‑Касса
Мобильная связь
Путешествия
Полезное
Карьера
Технологии от Т‑Банка
Политика обработки персональных данных
© 2006—2026, АО «ТБанк», официальный сайт, универсальная лицензия ЦБ РФ № 2673