В этом канале @highfeed из @secretship делится деталями разработки и опытом создания проектов.
Чаще всего проекты – это Telegram боты, но возможно, в будущем это будут не только боты, но и самостоятельные сервисы.
Подписчики канала будут в реальном времени наблюдать за разработкой, узнавать почему какие-то детали делаются именно так, а не иначе и первыми получать проекты для тестирования.
Чаще всего проекты – это Telegram боты, но возможно, в будущем это будут не только боты, но и самостоятельные сервисы.
Подписчики канала будут в реальном времени наблюдать за разработкой, узнавать почему какие-то детали делаются именно так, а не иначе и первыми получать проекты для тестирования.
👍2
Решил развлечься и сделать бот, в котором можно будет кидать кубик и выигрывать монеты.
В первой итерации будет возможность кидать только 🎲, пополнять баланс с помощью Coinbase Commerce и выводить средства с помощью Stable Coins USD T/C (привет ETH fees).
Текущая задача: сделать систему транзакций в боте, на которой будет строиться экономика (начисление и списание монет), реализована она будет по принципу добавления новых данных о движениях по счету пользователя с кодом операции и credentials, если это необходимо. Выводиться баланс будет с помощью агрегации этих данных.
В первой итерации будет возможность кидать только 🎲, пополнять баланс с помощью Coinbase Commerce и выводить средства с помощью Stable Coins USD T/C (привет ETH fees).
Текущая задача: сделать систему транзакций в боте, на которой будет строиться экономика (начисление и списание монет), реализована она будет по принципу добавления новых данных о движениях по счету пользователя с кодом операции и credentials, если это необходимо. Выводиться баланс будет с помощью агрегации этих данных.
Secretship Live
Решил развлечься и сделать бот, в котором можно будет кидать кубик и выигрывать монеты. В первой итерации будет возможность кидать только 🎲, пополнять баланс с помощью Coinbase Commerce и выводить средства с помощью Stable Coins USD T/C (привет ETH fees).…
Бот будет написан на telegraf.js.org. База данных MongoDB. Сессии будут храниться в MongoDB, а не в Redis. Как показывает практика, хранение таких данных в Redis в какой-то момент роста бота становится проблемой, а не преимуществом из-за невозможности сделать нормальный бекап в случае переезда.
image_2020-12-18_17-25-44.png
60.9 KB
Разработка системы транзакций завершена. Самое сложное – это придумать, как правильно спроектировать базу с учетом будущего масштабирования и анализа данных.
Текущая архитектура уже используется в одном из проектов и частично взята отсюда: https://stackoverflow.com/a/37334452
Текущая архитектура уже используется в одном из проектов и частично взята отсюда: https://stackoverflow.com/a/37334452
image_2020-12-18_17-32-13.png
57.1 KB
Разработка самой механики бросания кубика тоже завершена.
- Выбор чётное или нечётное.
- Выбор ставки.
- Обработка бросания кубика. Кубик бросает бот.
- Добавление новой транзакции в момент броска.
- Добавление информации об игре в базу для сбора статистики и на всякий случай.
Сейчас добавлю логирование и буду запускать Staging бота для тестирования на сервере. Взял Ubuntu 20.04 в моем любимом DigitalOcean.
- Выбор чётное или нечётное.
- Выбор ставки.
- Обработка бросания кубика. Кубик бросает бот.
- Добавление новой транзакции в момент броска.
- Добавление информации об игре в базу для сбора статистики и на всякий случай.
Сейчас добавлю логирование и буду запускать Staging бота для тестирования на сервере. Взял Ubuntu 20.04 в моем любимом DigitalOcean.
image_2020-12-18_17-36-31.png
43.8 KB
Вот так выглядит Dice-модель, где будет храниться информация о всех бросках кубика.
https://gist.github.com/highfeed/c0a5eafb41584e08fbf599d86ab40cb5
https://gist.github.com/highfeed/c0a5eafb41584e08fbf599d86ab40cb5
⚡️ Бот @CryptoGameStagingBot запущен в тестовом режиме. Можно развлекаться. Каждый новый пользователь бота получает 100 💎 на баланс для тестирования.
Если не хватает монеток для ставки, то можете перейти в баланс, чтобы получить еще 100 💎.
Сейчас включен быстрый режим игры, это когда бот не дожидаясь окончания анимации кубика выдает результат. Бот узнает результат (value) при отправке кубика (sendDice) мгновенно.
Если не хватает монеток для ставки, то можете перейти в баланс, чтобы получить еще 100 💎.
Сейчас включен быстрый режим игры, это когда бот не дожидаясь окончания анимации кубика выдает результат. Бот узнает результат (value) при отправке кубика (sendDice) мгновенно.
Проблема комментариев Телеграм в том, что если кто-то, кого нет в чате общается под одним из постом, то он не видит сообщения людей, который также отвечают на сообщения кого-то, кто находится в чате.
Поэтому заходите в чат: @SecretshipLiveChat.
Поэтому заходите в чат: @SecretshipLiveChat.
💡 Все-таки платформа Telegram ботов – гениальное изобретение. Как же легко, просто и интересно их разрабатывать – не нужно верстать никакого HTML, писать клиентскую часть на JS, извращаться с CSS и т.д.. Так еще и в придачу идет простейший способ привлечения новых пользователей.
image_2020-12-22_01-14-09.png
7.9 KB
Красивый способ проверить является ли апдейт callback и ответить answerCallbackQuery. Делаю это только для того, чтобы в Android-клиенте на inline-кнопках не висел значок загрузки. В других клиентах его нет или он работает правильно (не показывается, если кнопка или сообщение было изменено).
Но есть способы и покрасивее: https://news.1rj.ru/str/SecretshipLiveChat/354
Но есть способы и покрасивее: https://news.1rj.ru/str/SecretshipLiveChat/354
