Как мы создали криптовалютного бота для отслеживания цен на монеты и получили более 1000 пользователей за 24 часа
стала довольно популярной и на данный момент даже несколько компаний доставки используют бота для получения адреса по координатам.
Теперь же мы задались целью сделать максимально простого бота для крипто-энтузиастов (https://t. me/StareAtCryptoBot).
Криптовалютная сфера растёт семимильными шагами. Кто-то считает, что это ничем не обеспеченные и неверноятно переоценённые проекты. Кто-то, что за этим будущее. Наша же команда скорее отталкивается от мнения, что блокчеин это важная технология, на которой можно создавать полезные для людей проекты.
Вернёмся к боту. На данный момент существует множество аналитических платформ с довольно внушительным функционалом (tradingview, coinmarketcap, coingecko, dropstab и т. д.). Бот, которого мы будем создавать не ставит себе цель конкурировать с ними, но добавляет некоторые удобства.
Поехали!
Цель: создать бота, который получает от пользователя список интересующих его монет и оповещает при изменении цены этих монет на 1% или более.
*не будем описывать полный метод разработки, т. к. это долго и скучно, но опишем алгоритм создания.
Задача 1: нам нужно откуда-то узнавать постоянно изменяющиеся цены на криптовалюты.
Решение: Используем google и находим несколько поставщиков API (По простому, это список ссылок, куда ты можешь отправить запрос и получить интересующий тебя ответ. В нашем случае это цены на разные монеты). После определения лучшего поставщика — задача решена. У нас есть API, которое каждую секунду/минуту/час присылает нам цены на Топ 3000 монеток.
Например данные от coingecko:
Задача 2: нужно понимать какие криптовалюты интересуют каждого отдельного пользователя.
Решение: Используем одну из возможных баз данных, для хранения информации. В нашем случае PostgreSQL. Осталось определить, что нам нужно хранить.
Храним: Telegram id юзера, список монет (которые он отправит боту) и в отдельной табличке цены на 3000 монет, которые обновляются каждую секунду/минуту/час.
Задача 3: нужно понять как будет работать бот и соединить все задачи выше вместе.
Решение:
На данный момент существует множество разнообразных фреймворков для написания бота (python-telegram-bot, aiogram и т. д.) .
Бот должен быть максимально простым, чтобы для большинства пользователей его использование было понятным.
Продумываем алгоритм работы бота:
1) Каждую минуту обновляем цены на монеты, используя API из задачи 1.
2) Однозначно нужно, чтобы бот поддерживал разные языки. Ага, значит при первом входе нужно спросить у юзера предпочтительный язык.
3) Должна быть одна кнопка действия. Назовём её «Настроить отслеживание».
4) У пользователя должна быть возможность как-то сообщить боту список интересующих его монет. Значит настраиваем в боте прием тикеров (символов) монет и предлагаем «Подписаться» на нужные.
5) Поскольку мы видим цены на монеты, то бонусом добавляем отслеживание, так называемого, пампа монет. То есть если на какие-то из топ 3000 монет цена за 5 минут изменилась больше, чем на 15%, то тоже сообщаем об этом пользователям.
Соединяем это всё кодом при помощи одного из фреймворков из задачи 3.
Готово @StareAtCryptoBot
После отправки данного бота в несколько крипто-сообществ мы сразу увидели отклик людей и за счёт «сарафанного радио» набрали более 1000 пользователей за сутки.
В статье мы не ставили себе целью показать полный код разработки, т.к. статья вышла бы очень длинной и скучной для большинства. Для новичков же, надеемся, получилось рассказать о том, как планируются и собираются подобные простенькие боты.
Спасибо за внимание!
Спасибо что вы открываете двери в крипту через телеграм !
Откуда в итоге берете данные курсов?
С разных платформ. Подобные API доступны и у CoinMarketCap и у CoinGecko и у многих других. Оптимизация подгрузки данных и их обработка это уже тема другой статьи ;)
а изменение на 1% это за какое время? И как планируете монетизировать?
А так оч круто, молодцы
Монетизировать не планируем сейчас. 1% за любое время от последней фиксации. Например вы следите за монеткой BTC. Текущая цена 40000. Как только она станет 40400 или 39600, бот вам сообщит. И далее уже будет снова ждать изменения на 1% или более. Замер происходит раз в 60 секунд.
Это очень полезно для пассивного наблюдения за монетой. Например, если вы сидите и работаете, а бот уже выдал вам +2%, +3%, +2% и так несколько раз, то возможно стоит зайти на биржу и уже зафиксировать профит )
Жаль, что только топ-3000
здравствуйте. у вас есть исходник на этого бота. если есть пожалуйста можете опубликовать