Бот для продажи пельменей
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
В этой статье мы создадим простого Telegram-бота для приема платежей в TON.
🦄 Как это выглядит
По окончанию урока вы напишете красивого бота, который сможет принимать платежи за ваш товар прямо в TON.
Бот будет выглядеть следующим образом:
📖 Чему вы научитесь
Вы узнаете, как:
- С оздать Telegram-бота в NodeJS с помощью grammY
- Работать с открытым TON Center API
Почему мы используем grammY? Потому что grammY - это современный, молодой, высокоуровневый фреймворк для удобной и быстрой разработки Telegram-ботов на JS/TS/Deno. Кроме того, у grammY отличная [документация] (https://grammy.dev) и активное сообщество, которое всегда сможет вам помочь.
✍️ Что нужно для начала работы
Установите NodeJS, если вы этого еще не сделали.
Также вам понадобятся эти библиотеки:
- grammy
- ton
- dotenv
Вы можете установить их одной командой в терминале.
- npm
- Yarn
- pnpm
npm install ton dotenv grammy @grammyjs/conversations
yarn add ton dotenv grammy @grammyjs/conversations
pnpm add ton dotenv grammy @grammyjs/conversations
🚀 Давайте начнем!
Структура нашего проекта будет выглядеть следующим образом:
src
├── bot
├── start.js
├── payment.js
├── services
├── ton.js
├── app.js
.env
bot/start.js
иbot/payment.js
- файлы с обработчиками для Telegram-ботаsrc/ton.js
- файл с business logic, связанной с TONapp.js
- файл для инициализации и запуска бота
Теперь давайте начнем писать код!
Конфигурация
Давайте начнем с .env
. Нам просто нужно задать в нем несколько параметров.
.env
BOT_TOKEN=
TONCENTER_TOKEN=
NETWORK=
OWNER_WALLET=
Здесь вам нужно заполнить значения в первых четырех строках:
BOT_TOKEN
- это ваш токен Telegram-бота, который вы можете получить после [создания бота] (https://t.me/BotFather).OWNER_WALLET
- это адрес кошелька вашего проекта, который будет принимать все платежи. Вы можете просто создать новый кошелек TON и скопировать его адрес.API_KEY
- это ваш API-ключ от TON Center, который вы можете получить от @tonapibot/@tontestnetapibot для основной и тестовой сетей, соответственно.NETWORK
- это информация о том, в какой сети будет работать ваш бот - тестовой или основной.
Это все, что касается файла конфигурации, так что мы можем двигаться дальше!