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

Задание закрыто
Статус рабочей области:
Стоимость:Договорная
Срок выполнения: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
  • 1 000 руб7 дней
Давайте обсудим. Пишите в ТГ
Stanislav Ricci
Специализация: Программирование и IT
  • 5 000 руб7 дней
Техническая реализация (в общих чертах):
Использовать ботовый токен и библиотеку для работы с 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 – отправляем уведомление в заданную группу

Примеры моих работ

Антон Ковальский
Специализация: Веб-разработка
  • 1 000 руб7 дней
Уведомления Телеграм

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