Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
martin-eden
7 лет назад

CoinMarketCap bot - отслеживать криптовалюты еще никогда не было так просто

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

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

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

Перелопатив кучу крипто-ботов, пришли к выводу, что решения, удовлетворяющего наши запросы, просто нет. А требования были совершенно простые: бот должен быть максимально удобным и понятным, без лишнего функционала, только главное - вовремя уведомить об изменении цены на нужную валюту и заданную величину.

Вариант был один - делать бот самостоятельно. Так, засучив рукава мы взялись за работу.
Изначально бота мы начали строить под Telegram.

В работе использовали API сайта coinmarketcap.com, так как именно этот ресурс мониторят миллионы людей по всему миру и выдает он самые усредненные значения. Собственно, исходя из этого, бот получил одноименное название - CoinMarketCap bot.

Что было заложено:

  1. Два языка (русский и английский). Если в настройках Telegram установлен русский язык - бот будет общаться с вами на русском. Если любой другой - на английском.
  2. Два базовых варианта отслеживания валют:
  • Одиночное отслеживание (пользователь вручную задает точное число выбранной валюты, по достижению которого, бот один раз отправляет уведомление. )
  • Регулярное отслеживание (пользователь выбирает или вводит величину отклонения от текущего курса выбранной валюты и регулярно получает уведомления об изменении курса на заданную величину в ту или иную сторону.)

3. Выбор валюты из списка или введение вручную полного названия или аббревиатуры (Bitcoin Cash / BCH)

4. Выбор величины отклонения из предложенных (для каждой валюты варианты свои) или введение вручную.

5. Неограниченное количество отслеживаний.

6. Просмотр/редактирование/удаление своих отслеживаний. 

7. Просмотр истории цены отслеживаемых валют за неделю (открытие/самая высокая цена/сама низкая цена/закрытие) + просмотр статистики по валюте.

Парочка скриншотов:


2.jpg


3.jpg
4.jpg

Также можно посмотреть видео:

Принцип работы

было запущено две крон задачи:

  1. раз в минуту берем данные по API с coinmarketcap и кешируем их на минуту.
  2. раз в минуту проверяем изменение цены для всех установленных пользователями уведомлений и делаем рассылку.

С какими трудностями пришлось столкнуться?

Сложности были в преодолении лимита на количество сообщений. В Телеграме он 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

14
0.023 GOLOS
На Golos с November 2017
Комментарии (6)
Сортировать по:
Сначала старые