v0.1
This commit is contained in:
@@ -4,6 +4,7 @@ import os
|
||||
import sys
|
||||
import logging
|
||||
import base64
|
||||
import re
|
||||
from datetime import datetime
|
||||
from telegram import Update
|
||||
from telegram.ext import (
|
||||
@@ -12,7 +13,8 @@ from telegram.ext import (
|
||||
MessageHandler,
|
||||
ConversationHandler,
|
||||
filters,
|
||||
ContextTypes
|
||||
ContextTypes,
|
||||
ApplicationBuilder
|
||||
)
|
||||
|
||||
from config import TELEGRAM_BOT_TOKEN, PIApi_API_KEY, PIApi_BASE_URL, PROXY_URL, PROXY_TYPE
|
||||
@@ -149,7 +151,6 @@ async def call_piapi_api(image_path: str, prompt: str) -> str:
|
||||
|
||||
# Используем aiohttp-socks для запросов
|
||||
from aiohttp_socks import ProxyConnector
|
||||
import re
|
||||
|
||||
# Парсим прокси
|
||||
match = re.search(r'socks5://([^:]+):([^@]+)@([^:]+):(\d+)', PROXY_URL)
|
||||
@@ -329,30 +330,29 @@ async def error_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
|
||||
|
||||
|
||||
async def main():
|
||||
"""Запуск бота"""
|
||||
"""Запуск бота с прокси как в примере"""
|
||||
print("\n" + "=" * 50)
|
||||
print("🤖 ЗАПУСК TELEGRAM БОТА")
|
||||
print("=" * 50)
|
||||
|
||||
if not PROXY_URL:
|
||||
print("❌ Прокси не настроен!")
|
||||
return
|
||||
|
||||
print(f"🔌 Прокси: {PROXY_URL.split('@')[-1] if '@' in PROXY_URL else PROXY_URL}")
|
||||
print("=" * 50)
|
||||
|
||||
# Инициализация БД
|
||||
await init_db()
|
||||
|
||||
# Создаем приложение с поддержкой SOCKS5
|
||||
# python-telegram-bot[socks] автоматически поддерживает SOCKS5
|
||||
application = Application.builder().token(TELEGRAM_BOT_TOKEN).build()
|
||||
# Создаем приложение с прокси (как в вашем примере)
|
||||
TOKEN = TELEGRAM_BOT_TOKEN
|
||||
PROXY = PROXY_URL
|
||||
|
||||
# Для исходящих запросов бота используем прокси
|
||||
# Устанавливаем прокси через переменные окружения
|
||||
os.environ['ALL_PROXY'] = PROXY_URL
|
||||
os.environ['HTTP_PROXY'] = PROXY_URL
|
||||
os.environ['HTTPS_PROXY'] = PROXY_URL
|
||||
builder = ApplicationBuilder().token(TOKEN)
|
||||
|
||||
if PROXY:
|
||||
builder = builder.proxy(PROXY).get_updates_proxy(PROXY)
|
||||
print(f"🔌 Прокси: {PROXY.split('@')[-1] if '@' in PROXY else PROXY}")
|
||||
else:
|
||||
print("🔌 Прокси не используется")
|
||||
|
||||
application = builder.build()
|
||||
|
||||
print("=" * 50)
|
||||
|
||||
# Регистрируем обработчики
|
||||
application.add_handler(CommandHandler("start", start))
|
||||
@@ -363,14 +363,15 @@ async def main():
|
||||
conv_handler = ConversationHandler(
|
||||
entry_points=[MessageHandler(filters.PHOTO, handle_photo)],
|
||||
states={AWAITING_PROMPT: [MessageHandler(filters.TEXT & ~filters.COMMAND, process_image)]},
|
||||
fallbacks=[CommandHandler("cancel", cancel)],
|
||||
fallbacks=[CommandHandler("cancel", cancel), CommandHandler("start", start)],
|
||||
)
|
||||
application.add_handler(conv_handler)
|
||||
application.add_error_handler(error_handler)
|
||||
|
||||
print("\n✅ Бот запускается через SOCKS5 прокси...")
|
||||
print("\n✅ Бот запускается...")
|
||||
|
||||
try:
|
||||
# Запускаем бота
|
||||
await application.initialize()
|
||||
await application.start()
|
||||
await application.updater.start_polling()
|
||||
@@ -380,6 +381,7 @@ async def main():
|
||||
print("=" * 50)
|
||||
print("\n📱 Отправь команду /test в Telegram\n")
|
||||
|
||||
# Держим бота запущенным
|
||||
await asyncio.Event().wait()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
|
||||
@@ -9,7 +9,7 @@ PIApi_BASE_URL = "https://api.piapi.ai/api/v1/task"
|
||||
|
||||
# Прокси для всего
|
||||
PROXY_URL = os.getenv("PROXY_URL")
|
||||
PROXY_TYPE = os.getenv("PROXY_TYPE", "http")
|
||||
PROXY_TYPE = os.getenv("PROXY_TYPE", "socks5")
|
||||
|
||||
if PROXY_URL:
|
||||
print(f"🔧 Прокси: {PROXY_URL.split('@')[-1] if '@' in PROXY_URL else PROXY_URL}")
|
||||
|
||||
Reference in New Issue
Block a user