April 11, 2025
Создание Telegram-бота через BotFather- 2
Отлично! Ниже — готовый Telegram-бот с авто-выдачей архива после оплаты.
Тебе останется просто вставить свой токен и настроить приём платежей.
📂 Что умеет бот:
- Приветствует пользователя
- Показывает кнопку "Купить книгу"
- После нажатия — предлагает оплату (временно эмулируем вручную, без интеграции)
- После "оплаты" — выдает файл
Trading_Bot_Book.zip - Пишет в лог, кто и когда получил файл
🛠 Код бота (Python, библиотека python-telegram-bot)
pythonКопироватьРедактироватьimport logging
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import ApplicationBuilder, CommandHandler, CallbackQueryHandler, ContextTypes
# === НАСТРОЙКИ ===
BOT_TOKEN = "ТВОЙ_ТОКЕН_ОТСЮДА_@BotFather"
FILE_PATH = "Trading_Bot_Book.zip" # Файл должен лежать в той же папке, где запускается бот
# === ЛОГИ ===
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
# === /start ===
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
keyboard = [
[InlineKeyboardButton("📘 Купить книгу", callback_data="buy")]
]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text("Привет! Это бот для покупки книги «Как создать торгового бота».\n\nНажми кнопку ниже, чтобы купить:", reply_markup=reply_markup)
# === Обработка кнопки "Купить" ===
async def handle_button(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
# Тут должен быть платёжный API. Пока эмуляция — сразу выдаём файл
await query.edit_message_text("✅ Оплата успешно принята! Отправляю архив...")
await context.bot.send_document(chat_id=query.message.chat.id, document=open(FILE_PATH, 'rb'),
caption="📦 Вот ваш файл: «Торговый Бот — Книга».\nСпасибо за покупку!")
logging.info(f"{query.from_user.username} получил файл")
# === Запуск ===
def main():
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CallbackQueryHandler(handle_button))
app.run_polling()
if __name__ == "__main__":
main()
📦 Подготовка к запуску
1. Установи библиотеки:
bashКопироватьРедактироватьpip install python-telegram-bot==20.0
2. Сохрани файл архива Trading_Bot_Book.zip рядом со скриптом
3. Замени BOT_TOKEN на свой токен
4. Запусти:
bashКопироватьРедактироватьpython bot.py
🚀 Дальнейшие улучшения (по желанию)
💵 Настоящая оплата через Lava или Cryptomus
подключу по API — нужно создать магазин
добавить кнопку “Задать вопрос”
английская версия бота + лендинг
Хочешь — я подключу Lava или Cryptomus для реальной оплаты. Только нужно будет:
April 11, 2025, 22:57
0 views
0 reactions
0 replies
0 reposts