Skip to content

Dmitrii-Kopeikin/tegro-ton-test-tgbot

Repository files navigation

Tegro Ton Bot

Python Aiogram FastAPI Redis SQLAlchemy httpx

Описание

Tegro Ton Bot - это Telegram-бот, который предназначен для работы с платежной системой Tegro.money и блокчейном TON.

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

Данный бот разрабатывался как тестовое задание. Покупка TGR в нем реализована исключительно для теста платежной системы.

Функции

  • Покупка TGR
  • Проверка баланса TGR
  • Создание кошелька TON
  • Создание кошелька TGR
  • Проверка транзакций в сети TON
  • Создание транзакций TON
  • Создание транзакций TGR
  • Проверка баланса кошелька TON
  • Проверка баланса кошелька TGR

Использованные технологии

  • Python 3.11
  • Aiogram - Python-фреймворк для создания Telegram-ботов
  • FastAPI - Python-фреймворк для создания веб-приложений с высокой производительностью
  • Uvicorn - ASGI-сервер, используемый для запуска FastAPI
  • SQLAlchemy - Python-библиотека для работы с реляционными базами данных
  • Alembic - Python-библиотека для миграции баз данных
  • httpx - Python-библиотека для выполнения HTTP-запросов
  • Redis - In-memory база данных с открытым исходным кодом

Установка

В первую очередь необходимо зарегистрировать бота в сети Telegram и получить токен. Для этого можно воспользоваться ботом @BotFather.

Данный бот использует Telegram Hook. Следовательно для его запуска нужен белый IP, или можно использовать утилиту и сервис https://ngrok.com.

Перед запуском необходимо переименовать файл '.env.template' в '.env' и заполнить в нем все переменные.

Для работы с сетью TON необходимо скачать Ton-Server из репозитория https://github.com/TGRTON/TON-token-Rest-API и запустить его согласно инструкции.

Для приема платежей необходимо зарегистрировать магазин в сервисе https://tegro.money.

Для запуска из корневой директории выполнить:

uvicorn src.main:app --port=80

Использование

После ввода команды /start появляется интуитивно понятное меню. С его помощью можно протестировать весь функционал бота.

Releases

No releases published

Packages

No packages published

Languages