Обзор
Функция Broadcast в MagicTradeBot позволяет получать торговые сигналы на нескольких мессенджерах. Вы можете настроить одну или все платформы по своему усмотрению.
Структура конфигурации
BroadCast:
# Уведомления WhatsApp
whatsapp_token: null
whatsapp_phone_id: null
# Уведомления Discord
discord_webhook_url: null
# Уведомления Instagram
instagram_token: null
# Уведомления Telegram
telegram_bot_token: null
telegram_chat_id: null
1. Настройка WhatsApp
Уведомления WhatsApp используют WhatsApp Business API от Meta.
Требования
- Бизнес-аккаунт Meta (Facebook)
- Проверенный бизнес-номер телефона
- Доступ к платформе Meta Developer
Пошаговая настройка
Шаг 1: Создание приложения Meta
- Перейдите на Meta for Developers
- Нажмите «My Apps» → «Create App»
- Выберите тип приложения «Business»
- Заполните данные приложения и создайте его
Шаг 2: Добавление продукта WhatsApp
- В панели приложения нажмите «Add Product»
- Найдите «WhatsApp» и нажмите «Set Up»
- Выберите или создайте бизнес-портфель
Шаг 3: Получение учетных данных
- Перейдите в WhatsApp → Настройка API
- Вы увидите два важных значения:
Временный токен доступа (whatsapp_token):
- Скопируйте отображаемый временный токен
- Примечание: Для продакшена сгенерируйте постоянный токен:
- Перейдите в «Системные пользователи» в настройках бизнеса
- Создайте системного пользователя
- Сгенерируйте токен с разрешением whatsapp_business_messaging
ID номера телефона (whatsapp_phone_id):
- Указан под «Phone Number ID»
- Это НЕ ваш номер телефона, а уникальный идентификатор
Шаг 4: Настройка в MagicTradeBot
BroadCast:
whatsapp_token: "EAAxxxxxxxxxxxxxxxxxxxxxxxx"
whatsapp_phone_id: "123456789012345"
Шаг 5: Подтверждение номера получателя
- На странице настройки WhatsApp API добавьте свой личный номер WhatsApp как получателя
- Подтвердите номер через OTP, отправленный в WhatsApp
Важные примечания
- Бесплатный тариф позволяет 1000 диалогов в месяц
- Номера получателей должны быть подтверждены в тестовом режиме
- Для продакшена требуется завершение верификации бизнеса
2. Настройка Discord
Discord использует вебхуки для уведомлений — самый простой способ.
Пошаговая настройка
Шаг 1: Открытие настроек сервера
- Откройте Discord и перейдите на свой сервер
- ПКМ по каналу, где хотите получать уведомления
- Выберите «Редактировать канал»
Шаг 2: Создание вебхука
- Перейдите во вкладку «Интеграции»
- Нажмите «Вебхуки» → «Создать вебхук»
- Дайте вебхуку имя (например, «MagicTradeBot Signals»)
- (Опционально) Загрузите кастомный аватар
Шаг 3: Копирование URL вебхука
- Нажмите «Копировать URL вебхука»
- Формат URL:
https://discord.com/api/webhooks/XXXXX/YYYYY
Шаг 4: Настройка в MagicTradeBot
BroadCast:
discord_webhook_url: "https://discord.com/api/webhooks/123456789/AbCdEfGhIjKlMnOpQrStUvWxYz"
Важные примечания
- Любой, у кого есть URL вебхука, может публиковать в ваш канал
- Храните URL в безопасности
- Можно создать несколько вебхуков для разных ботов
- Не требуется аккаунт разработчика Discord
3. Настройка Instagram
Уведомления Instagram используют Instagram Graph API (Meta).
Требования
- Бизнес- или Creator-аккаунт Instagram
- Страница Facebook, связанная с вашим аккаунтом Instagram
- Аккаунт разработчика Meta
Пошаговая настройка
Шаг 1: Преобразование в бизнес-аккаунт
- В приложении Instagram: Настройки → Аккаунт
- Выберите «Перейти на профессиональный аккаунт»
- Выберите «Business» или «Creator»
Шаг 2: Связь со страницей Facebook
- Перейдите в Настройки → Аккаунт → Связанные аккаунты
- Свяжите Instagram со страницей Facebook
Шаг 3: Создание приложения Meta
- Перейдите на Meta for Developers
- Создайте новое приложение (если ещё нет)
- Добавьте продукт «Instagram»
Шаг 4: Генерация токена доступа
- Перейдите в Instagram → Basic Display или Instagram Graph API
- Для Instagram Graph API:
- Перейдите в Инструменты → Graph API Explorer
- Выберите ваше приложение
- Выберите аккаунт Instagram
- Добавьте разрешения: instagram_basic, instagram_manage_messages
- Нажмите «Сгенерировать токен доступа»
Шаг 5: Получение долгосрочного токена
Краткосрочные токены истекают через 1 час. Преобразуйте в долгосрочный (60 дней):
curl -i -X GET "https://graph.facebook.com/v18.0/oauth/access_token?grant_type=fb_exchange_token&client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&fb_exchange_token=SHORT_LIVED_TOKEN"
Шаг 6: Настройка в MagicTradeBot
BroadCast:
instagram_token: "IGQVJxxxxxxxxxxxxxxxxxxxxxxxxxx"
Важные примечания
- Instagram API предназначена в основном для бизнес-функций
- Прямые сообщения через API имеют ограничения
- Рассмотрите Instagram Basic Display для простых случаев
- Токены требуют периодического обновления
4. Настройка Telegram
Telegram предлагает самый простой способ создания бота среди всех платформ.
Пошаговая настройка
Шаг 1: Создание бота
- Откройте Telegram и найдите @BotFather
- Начните чат и отправьте /newbot
- Следуйте инструкциям:
- Выберите имя бота (например, «My Trading Signals»)
- Выберите юзернейм, заканчивающийся на «bot» (например, «mytrading_signals_bot»)
Шаг 2: Получение токена бота
- BotFather выдаст вам токен бота
- Формат:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz - Сохраните токен в безопасном месте
Шаг 3: Получение вашего Chat ID
Способ 1: С помощью IDBot
- Найдите @myidbot или @userinfobot в Telegram
- Начните чат и отправьте /start
- Бот ответит вашим Chat ID
Способ 2: Ручной метод
- Отправьте сообщение вашему боту (который вы создали)
- Перейдите:
https://api.telegram.org/bot<ВАШ_ТОКЕН_БОТА>/getUpdates - Найдите "chat":{"id":123456789}
- Это число — ваш chat_id
Способ 3: Для групповых чатов
- Добавьте бота в группу
- Отправьте сообщение в группе
- Перейдите:
https://api.telegram.org/bot<ВАШ_ТОКЕН_БОТА>/getUpdates - Найдите Chat ID (отрицательный для групп: -123456789)
Шаг 4: Запуск бота
- Найдите вашего бота в Telegram
- Нажмите «Start» или отправьте /start
Шаг 5: Настройка в MagicTradeBot
BroadCast:
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "987654321"
Важные примечания
- Боты не могут начинать диалог; вы должны сделать это первым
- Для групп бот должен быть добавлен, а chat_id — отрицательный
- Не требуется верификация или одобрение
- Полностью бесплатно без лимитов на сообщения
- Самый надёжный вариант для личного использования
Пример мультиплатформенной конфигурации
Вы можете включить несколько платформ одновременно:
BroadCast:
# WhatsApp
whatsapp_token: "EAAxxxxxxxxxxxxxxxxxxxxxxxx"
whatsapp_phone_id: "123456789012345"
# Discord
discord_webhook_url: "https://discord.com/api/webhooks/123456789/AbCdEfGhIjKlMnOp"
# Instagram
instagram_token: "IGQVJxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Telegram
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "987654321"
Или включите только нужное:
BroadCast:
# Только Telegram включён
whatsapp_token: null
whatsapp_phone_id: null
discord_webhook_url: null
instagram_token: null
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "987654321"
Сравнение платформ
| Платформа | Сложность настройки | Стоимость | Надёжность | Лучше всего для |
|---|---|---|---|---|
| Telegram | ⭐ Простая | Бесплатно | Отличная | Личное использование, группы |
| Discord | ⭐ Простая | Бесплатно | Отличная | Сообщества, команды |
| ⭐⭐⭐ Сложная | Ограниченный бесплатный тариф | Хорошая | Бизнес-коммуникации | |
| ⭐⭐⭐⭐ Очень сложная | Бесплатно | Средняя | Социальная интеграция |
Устранение неполадок
Проблемы с WhatsApp
- «Недействительный токен»: Токен истёк; сгенерируйте постоянный
- «Номер телефона не подтверждён»: Добавьте и подтвердите получателя в панели Meta
- Сообщения не отправляются: Проверьте лимиты API и биллинг
Проблемы с Discord
- «Недействительный вебхук»: URL мог быть перегенерирован; получите новый
- 403 Forbidden: Вебхук удалён; создайте новый
- Канал не найден: Канал вебхука мог быть удалён
Проблемы с Instagram
- Токен истёк: Токены Instagram истекают; сгенерируйте новый долгосрочный
- Разрешение отклонено: Убедитесь, что все требуемые разрешения предоставлены
- Аккаунт не подходит: Должен быть бизнес- или Creator-аккаунт
Проблемы с Telegram
- «Чат не найден»: Вы не запустили бота; сначала отправьте /start
- «Не авторизован»: Проверьте правильность токена бота
- Не получает сообщения: Убедитесь, что бот не заблокирован
Лучшие практики безопасности
- Никогда не коммитьте токены в систему контроля версий
- Используйте переменные окружения
- Добавьте файлы конфигурации в .gitignore
- Регулярно ротируйте токены
- Особенно для WhatsApp и Instagram
- Токены Telegram не истекают, но могут быть перегенерированы
- Используйте конфигурации, специфичные для окружения
- Разные токены для теста и продакшена
- Ограничьте доступ к вебхукам
- Discord: Используйте выделенные каналы с ограниченным доступом
- WhatsApp: Подтверждайте номера получателей
- Мониторьте использование
- Регулярно проверяйте квоты API
- Настройте оповещения о неудачных доставках
Рекомендация по быстрому старту
Для новичков: Начните с Telegram
- Самая простая настройка (5 минут)
- Не требуется верификация
- Полностью бесплатно
- Самый надёжный
Для команд: Используйте Discord
- Простая настройка вебхука
- Идеально для групповых уведомлений
- Бесплатно и надёжно
Для бизнеса: Рассмотрите WhatsApp
- Профессиональный вид
- Прямая доставка на мобильный
- Требует больше усилий на настройку
Поддержка и ресурсы
Заключительные замечания
- Протестируйте конфигурацию простым сообщением перед запуском в продакшен
- Храните резервные копии всех токенов в безопасном менеджере паролей
- Рассмотрите использование нескольких платформ для резервирования
- Проверьте лимиты скорости для ожидаемого объёма сообщений
- Начните с одной платформы и расширяйте по мере необходимости