Проект временно заморожен!
Crimson Wallet или же просто Wallet - криптокошелек от @CrimsonCoalition
Wallet - это telegram-бот для хранения Ethereum, Bitcoin, Toncoin, USDT и других криптовалют. Этот кошелек основан на этом проекте
Следить за новостями проекта можно также на нашем сайте: crimson-coalition.ru
Меню
┌─────┼────────────────┬────────────────┐
│ │ │ │
│ │ │ │
│ │ │ │
КОШЕЛЕК │ ПОЛУЧЕНИЕ │ ## будет обновляться
баланс │ показ адреса │
кошелька │ и QR-кода │
│ │
ОТПРАВКА КУПИТЬ
Ввод адреса Ввод BTC, TON, ETH, USDT, TRON
или RUB
и отправка Информации о пользователе
средств Отправка средств
Ядро бота состоит из двух модулей в корне проекта: app.py
и bot.py
Первый модуль представляет из себя стартовый модуль, который запускает и инициализирует бота, он отвечает за создание Flask веб-приложения, создание объекта бота, инициализацию бота и вебхуков, получение и обработку данных с вебхуков.
Bot.py
отвечает за класс Bot, который как представляет из себя центральную часть приложения, которая отвечает за работу бота. В нем описаны методы работы с: базой данных, Telegram API, обработку сообщений пользователя, загрузку модулей бота, работу с пользовательской сессией, генерирование пользовательских клавиатур и сообщений из шаблонов.
Модули представляют из себя некоторые скрипты, сценарии, которым бот передает сообщения от пользователя, а они в свою очередь решают что делать в той или иной ситуации. Модули состоят из некоторых функций обработчиков handler'ов. Самое первое сообщение пользователя обрабатывается стандартным хендлером, который указан в конфиге в дальнейшей работе бота хендлеры могут не только получать данные, но и указывать какой хендлер будет обрабатывать следующее сообщение. Таким образом строится неявный граф обработки сообщений пользователя.
Внутри модулей хендлеры могут оперировать любой информацией:
Получать и записывать данные в базу данных
Отправлять сообщение через Telegram API
Запрашивать или отправлять средства по средствам Bitcoin API
Отрисовывать пользовательские клавиатуры
И многое другое.
Конфиги представляют из себя статические JSON-файлы, которые хранят необходимую боту информацию. На данный момент в боте существует три конфиг-файлов: init.json
, keyboards.json
, messages.json
.
Первый файл отвечает за основные настройки бота:
default-handler
- стандартный обработчик сообщения, когда пользователь пишет первый раз или не указан обработчик который будет обрабатывать следующее сообщение
menu-button
- сообщение при получении которого, бот всегда будет возвращаться в главное меню
commission
- Bitcoin комиссия для совершения транзакции, указывается в сатоши!
keyboards.json
- отвечает за хранение шаблонов клавиатур, о работе с которыми вы можете прочитать далее messages.json - отвечает за хранение шаблонов сообщений, о работе с которыми вы можете прочитать далее
Для работы с Bitcoin используется библиотека pybitcointools
.
Для работы с Toncoin используется библиотека ton_client для python.
Для работы с BNB наш кошелек использует библиотеку bnb-chain/python-sdk