Уведомления Телеграм

Задание закрыто
Статус рабочей области:
Стоимость:Договорная
Срок выполнения:7 дней
Варианты оплаты:Планируется использовать Безопасную сделку
Дата публикации:2024-12-04 10:15
Был(а) на сайте:2024-12-04 15:49

Уведомления Телеграм

 
Задача

В Телеграм в группу приходят сообщения от бота.

Одно сообщение РОС = числу X
Второе сообщение Объём = числу Y

При каждом сообщении число X и Y сопоставляется и если они отличаются не больше чем на 0.20 то отправляется уведомление в телеграм в другую группу

Пример сообщения POC - числа X
Dymanic POC:

Symbol: BR Auto
Time frame: Range

Alert:
Volume change at price :72,59

Пример сообщения Обьем - числа Y
Cluster search:

Symbol: BR Auto
Time frame: Range

Alert:
Type: Delta
Bar time: 15:39:23
Value: 600 >= 0
Price: 72,78

Оставлять заявки могут только авторизованные пользователи.
Исполнитель по этому заданию выбран.
Василий Хлыстов
Специализация: IT-технологии и Разработка
    Давайте обсудим. Пишите в ТГ
    Stanislav Ricci

    Превращаю идеи в цифровое волшебство!

    Специализация: IT-технологии и Разработка
    Техническая реализация (в общих чертах):
    Использовать ботовый токен и библиотеку для работы с Telegram API (например, python-telegram-bot, aiogram или telebot на Python).
    Подписаться на обновления нужной группы (например, через long polling или webhook).
    Для каждого входящего сообщения определить его тип. Это можно сделать по ключевым словам в тексте:
    Если сообщение содержит строку "Volume change at price :" – считать это POC-сообщением и извлечь число после двоеточия.
    Если сообщение содержит строку "Price:" и "Type: Delta" – считать это сообщением объёма и извлечь число после Price:.
    Хранить переменные last_poc_price и last_volume_price где-то в памяти (если скрипт постоянно работает) или в каком-нибудь кэше (Redis, файл, база).
    После каждого обновления значений проверять:
    if last_poc_price is not None and last_volume_price is not None:
    if abs(last_poc_price - last_volume_price) <= 0.20:
    # Отправить уведомление в другую группу
    bot.send_message(chat_id=TARGET_CHAT_ID, text="Цены отличаются не более чем на 0.20!")

    Пример парсинга чисел:
    Строка Volume change at price :72,59 может быть спарсена следующим образом (на Python):

    text = "Volume change at price :72,59"
    # Разделим по двоеточию
    parts = text.split(':')
    # Возьмём последний элемент, уберём пробелы
    price_str = parts[-1].strip()
    # Заменим запятую на точку
    price_str = price_str.replace(',', '.')
    # Преобразуем в число с плавающей точкой
    X = float(price_str) # X = 72.59

    Аналогично для Price: 72,78:

    text = "Price: 72,78"
    parts = text.split(':')
    price_str = parts[-1].strip().replace(',', '.')
    Y = float(price_str) # Y = 72.78

    Проверка условия из примера:
    X = 72.59, Y = 72.78
    abs(72.59 - 72.78) = 0.19
    0.19 <= 0.20 – условие выполнено, шлём уведомление.

    Резюме:

    Отлавливаем два типа сообщений.
    Парсим цены из них, преобразуем в числа.
    Храним последние полученные цены для POC и объёма.
    При обновлении любой из них проверяем разницу.
    Если разница <= 0.20 – отправляем уведомление в заданную группу

    Оставлять заявки могут только авторизованные пользователи.