Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа

Продолжаем создавать полезных ботов в Telegram. Сегодня расскажем об алгоритме создания бота для отслеживания цен на криптовалюты.

Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа

Наша статья

стала довольно популярной и на данный момент даже несколько компаний доставки используют бота для получения адреса по координатам.

Теперь же мы задались целью сделать максимально простого бота для крипто-энтузиастов (https://t. me/StareAtCryptoBot).

Криптовалютная сфера растёт семимильными шагами. Кто-то считает, что это ничем не обеспеченные и неверноятно переоценённые проекты. Кто-то, что за этим будущее. Наша же команда скорее отталкивается от мнения, что блокчеин это важная технология, на которой можно создавать полезные для людей проекты.

Вернёмся к боту. На данный момент существует множество аналитических платформ с довольно внушительным функционалом (tradingview, coinmarketcap, coingecko, dropstab и т. д.). Бот, которого мы будем создавать не ставит себе цель конкурировать с ними, но добавляет некоторые удобства.

Поехали!

Цель: создать бота, который получает от пользователя список интересующих его монет и оповещает при изменении цены этих монет на 1% или более.

*не будем описывать полный метод разработки, т. к. это долго и скучно, но опишем алгоритм создания.

Задача 1: нам нужно откуда-то узнавать постоянно изменяющиеся цены на криптовалюты.

Решение: Используем google и находим несколько поставщиков API (По простому, это список ссылок, куда ты можешь отправить запрос и получить интересующий тебя ответ. В нашем случае это цены на разные монеты). После определения лучшего поставщика — задача решена. У нас есть API, которое каждую секунду/минуту/час присылает нам цены на Топ 3000 монеток.

Например данные от coingecko:

Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа

Задача 2: нужно понимать какие криптовалюты интересуют каждого отдельного пользователя.

Решение: Используем одну из возможных баз данных, для хранения информации. В нашем случае PostgreSQL. Осталось определить, что нам нужно хранить.

Храним: Telegram id юзера, список монет (которые он отправит боту) и в отдельной табличке цены на 3000 монет, которые обновляются каждую секунду/минуту/час.

Задача 3: нужно понять как будет работать бот и соединить все задачи выше вместе.

Решение:

На данный момент существует множество разнообразных фреймворков для написания бота (python-telegram-bot, aiogram и т. д.) .

Бот должен быть максимально простым, чтобы для большинства пользователей его использование было понятным.

Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа

Продумываем алгоритм работы бота:

1) Каждую минуту обновляем цены на монеты, используя API из задачи 1.

2) Однозначно нужно, чтобы бот поддерживал разные языки. Ага, значит при первом входе нужно спросить у юзера предпочтительный язык.

3) Должна быть одна кнопка действия. Назовём её «Настроить отслеживание».

4) У пользователя должна быть возможность как-то сообщить боту список интересующих его монет. Значит настраиваем в боте прием тикеров (символов) монет и предлагаем «Подписаться» на нужные.

Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа

5) Поскольку мы видим цены на монеты, то бонусом добавляем отслеживание, так называемого, пампа монет. То есть если на какие-то из топ 3000 монет цена за 5 минут изменилась больше, чем на 15%, то тоже сообщаем об этом пользователям.

Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа

Соединяем это всё кодом при помощи одного из фреймворков из задачи 3.

Готово @StareAtCryptoBot

После отправки данного бота в несколько крипто-сообществ мы сразу увидели отклик людей и за счёт «сарафанного радио» набрали более 1000 пользователей за сутки.

В статье мы не ставили себе целью показать полный код разработки, т.к. статья вышла бы очень длинной и скучной для большинства. Для новичков же, надеемся, получилось рассказать о том, как планируются и собираются подобные простенькие боты.

Спасибо за внимание!

1010
14 комментариев

Спасибо что вы открываете двери в крипту через телеграм !

1
Ответить

Откуда в итоге берете данные курсов?

Ответить
Автор

С разных платформ. Подобные API доступны и у CoinMarketCap и у CoinGecko и у многих других. Оптимизация подгрузки данных и их обработка это уже тема другой статьи ;)

1
Ответить

а изменение на 1% это за какое время? И как планируете монетизировать?
А так оч круто, молодцы

Ответить
Автор

Монетизировать не планируем сейчас. 1% за любое время от последней фиксации. Например вы следите за монеткой BTC. Текущая цена 40000. Как только она станет 40400 или 39600, бот вам сообщит. И далее уже будет снова ждать изменения на 1% или более. Замер происходит раз в 60 секунд.

Это очень полезно для пассивного наблюдения за монетой. Например, если вы сидите и работаете, а бот уже выдал вам +2%, +3%, +2% и так несколько раз, то возможно стоит зайти на биржу и уже зафиксировать профит )

1
Ответить

Жаль, что только топ-3000

Ответить

здравствуйте. у вас есть исходник на этого бота. если есть пожалуйста можете опубликовать

Ответить