CoinMarketCap bot - отслеживать криптовалюты еще никогда не было так просто
Привет! Хочу поделиться с вами нашей интересной разработкой, которая, как мы полагаем, может стать полезной для всех, кто в крипто теме.
Речь пойдет о боте, который умеет отслеживать и уведомлять об изменении цены выбранных валют.
У нас, как и у большинства людей, не всегда есть время для постоянного мониторинга движения интересующей валюты, а так хочется всегда быть в курсе происходящего, не пропустив нужного момента. Как быть? Мы задались этим вопросом, и начали искать решение.
Перелопатив кучу крипто-ботов, пришли к выводу, что решения, удовлетворяющего наши запросы, просто нет. А требования были совершенно простые: бот должен быть максимально удобным и понятным, без лишнего функционала, только главное - вовремя уведомить об изменении цены на нужную валюту и заданную величину.
Вариант был один - делать бот самостоятельно. Так, засучив рукава мы взялись за работу.
Изначально бота мы начали строить под Telegram.
В работе использовали API сайта coinmarketcap.com, так как именно этот ресурс мониторят миллионы людей по всему миру и выдает он самые усредненные значения. Собственно, исходя из этого, бот получил одноименное название - CoinMarketCap bot.
Что было заложено:
- Два языка (русский и английский). Если в настройках Telegram установлен русский язык - бот будет общаться с вами на русском. Если любой другой - на английском.
- Два базовых варианта отслеживания валют:
- Одиночное отслеживание (пользователь вручную задает точное число выбранной валюты, по достижению которого, бот один раз отправляет уведомление. )
- Регулярное отслеживание (пользователь выбирает или вводит величину отклонения от текущего курса выбранной валюты и регулярно получает уведомления об изменении курса на заданную величину в ту или иную сторону.)
3. Выбор валюты из списка или введение вручную полного названия или аббревиатуры (Bitcoin Cash / BCH)
4. Выбор величины отклонения из предложенных (для каждой валюты варианты свои) или введение вручную.
5. Неограниченное количество отслеживаний.
6. Просмотр/редактирование/удаление своих отслеживаний.
7. Просмотр истории цены отслеживаемых валют за неделю (открытие/самая высокая цена/сама низкая цена/закрытие) + просмотр статистики по валюте.
Парочка скриншотов:
Также можно посмотреть видео:
Принцип работы
было запущено две крон задачи:
- раз в минуту берем данные по API с coinmarketcap и кешируем их на минуту.
- раз в минуту проверяем изменение цены для всех установленных пользователями уведомлений и делаем рассылку.
С какими трудностями пришлось столкнуться?
Сложности были в преодолении лимита на количество сообщений. В Телеграме он 30 сообщений в секунду. Пришлось сделать сервер очередей с приоритетами и таймер, который каждую секунду отправляет максимум 30 сообщений.
Что мы получили в итоге?
Прекрасно работающий, мультиплатформенный инструмент, который отлично справляется с положенными на него задачами.
Уже сейчас ботом ежедневно пользуются тысячи людей по всему миру и их количество растет, что говорит нам о том что инструмент получился довольно удачный.
На данный момент бот работает в следующих мессенджерах: Telegram, FB, VK. Готовим на Viber, Skype.
Будем рады, если наша разработка будет и вам полезной, также принимаются любые замечания и предложения. Если будут вопросы - постараемся ответить. Спасибо за внимание! ;)
Ссылки:
Telegram bot: http://telegram.me/coinmarketcapcombot
FB: https://www.facebook.com/Coinmarketcap-Messenger-Bot-159310524821235
VK: https://vk.com/coinmarketcaptelegrambot
Тема на bitcointalk: https://bitcointalk.org/index.php?topic=2417335.0