from telegram import Update, WebAppInfo, InlineKeyboardButton, InlineKeyboardMarkup from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes import threading from flask import Flask, send_from_directory # Flask-сервер для Mini App app_web = Flask(__name__) @app_web.route('/') def serve_root(): return send_from_directory('/root/telegram-shop-bot', 'index.html') def run_web(): app_web.run(host='0.0.0.0', port=8080) # Команда /start async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): keyboard = [ [InlineKeyboardButton("Открыть Mini App", web_app=WebAppInfo(url="http://31.172.64.32:8080"))] ] reply_markup = InlineKeyboardMarkup(keyboard) await update.message.reply_text("Нажми кнопку ниже, чтобы открыть мини-приложение:", reply_markup=reply_markup) if __name__ == '__main__': # Запуск Flask в фоновом потоке threading.Thread(target=run_web, daemon=True).start() app = ApplicationBuilder().token("7288295105:AAGmORu9Zl44tT_GWkvUeb43mp0sBFtTOTg").build() app.add_handler(CommandHandler("start", start)) print("Бот запущен...") app.run_polling()