Подключаем оплату Telegram Stars в AIOgram 3.18 🚀
Шаг 1: Установка AIOgram
Установите AIOgram с помощью pip:
Шаг 2: Создание и настройка бота
Создайте бота в Telegram через BotFather и получите токен. Затем создайте файл
Шаг 3: Настройка команд и обработка оплаты
Добавьте команды для старта и оплаты:
Шаг 4: Запуск бота
Запустите бота:
### Полный код
Теперь ваш бот готов к приему платежей за Telegram Stars! Удачи в разработке! 💻🚀
Шаг 1: Установка AIOgram
Установите AIOgram с помощью pip:
install aiogram
Шаг 2: Создание и настройка бота
Создайте бота в Telegram через BotFather и получите токен. Затем создайте файл
bot.py
и импортируйте необходимые модули:logging
from aiogram import Bot, Dispatcher, types
from aiogram.types import LabeledPrice, PreCheckoutQuery
from aiogram.utils import executor
API_TOKEN = 'YOUR_BOT_API_TOKEN'
PAYMENT_PROVIDER_TOKEN = 'YOUR_PAYMENT_PROVIDER_TOKEN'
logging.basicConfig(level=logging.INFO)
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
Шаг 3: Настройка команд и обработка оплаты
Добавьте команды для старта и оплаты:
async def send_welcome(message: types.Message):
await message.reply("Привет! Нажми /buy чтобы купить Telegram Stars!")
@dp.message_handler(commands=['buy'])
async def buy(message: types.Message):
prices = [LabeledPrice(label='Telegram Stars', amount=50000)] # 50000 = 500 руб.
await bot.send_invoice(
message.chat.id,
title='Покупка Telegram Stars',
description='Получите доступ к эксклюзивным функциям!',
provider_token=PAYMENT_PROVIDER_TOKEN,
currency='RUB',
prices=prices,
start_parameter='telegram-stars',
payload='telegram-stars-payload'
)
@dp.pre_checkout_query_handler(lambda query: True)
async def pre_checkout_query(pre_checkout_q: PreCheckoutQuery):
await bot.answer_pre_checkout_query(pre_checkout_q.id, ok=True)
@dp.message_handler(content_types=types.ContentType.SUCCESSFUL_PAYMENT)
async def successful_payment(message: types.Message):
await message.reply("Оплата прошла успешно! Спасибо за покупку!")
Шаг 4: Запуск бота
Запустите бота:
__name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
### Полный код
logging
from aiogram import Bot, Dispatcher, types
from aiogram.types import LabeledPrice, PreCheckoutQuery
from aiogram.utils import executor
API_TOKEN = 'YOUR_BOT_API_TOKEN'
PAYMENT_PROVIDER_TOKEN = 'YOUR_PAYMENT_PROVIDER_TOKEN'
logging.basicConfig(level=logging.INFO)
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
await message.reply("Привет! Нажми /buy чтобы купить Telegram Stars!")
@dp.message_handler(commands=['buy'])
async def buy(message: types.Message):
prices = [LabeledPrice(label='Telegram Stars', amount=50000)] # 50000 = 500 руб.
await bot.send_invoice(
message.chat.id,
title='Покупка Telegram Stars',
description='Получите доступ к эксклюзивным функциям!',
provider_token=PAYMENT_PROVIDER_TOKEN,
currency='RUB',
prices=prices,
start_parameter='telegram-stars',
payload='telegram-stars-payload'
)
@dp.pre_checkout_query_handler(lambda query: True)
async def pre_checkout_query(pre_checkout_q: PreCheckoutQuery):
await bot.answer_pre_checkout_query(pre_checkout_q.id, ok=True)
@dp.message_handler(content_types=types.ContentType.SUCCESSFUL_PAYMENT)
async def successful_payment(message: types.Message):
await message.reply("Оплата прошла успешно! Спасибо за покупку!")
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
Теперь ваш бот готов к приему платежей за Telegram Stars! Удачи в разработке! 💻🚀