@sikoraaxd

Почему бот не запускается при определении прокси?

У меня есть код бота на aiogram:
import os
import sys
import asyncio
import logging
from dotenv import dotenv_values

import socks
import socket

from aiogram import Bot, Dispatcher, types
from aiogram.enums import ParseMode
from aiogram.filters import CommandStart
from aiogram.types import Message
from utils.model import LLMModel


PWD = os.path.abspath(os.getcwd())
CONFIG = dotenv_values(os.path.join(PWD,'.env'))

socks.set_default_proxy(socks.SOCKS5, CONFIG['SOCKS5_IP'], int(CONFIG['SOCKS5_PORT']), username=CONFIG['SOCKS5_USERNAME'], password=CONFIG['SOCKS5_PASSWORD'])
socket.socket = socks.socksocket

dp = Dispatcher()
llm = LLMModel(api_key=CONFIG['OPENAI_KEY'], 
               data_path=os.path.join(PWD,'data.json'))


@dp.message(CommandStart())
async def command_start(message: Message) -> None:
    await message.answer(f"Здавствуйте, готов ответить на ваши вопросы!")


@dp.message()
async def message_handler(message: types.Message) -> None:
    responce = await llm.get_responce(message.text)
    await message.answer(responce)


async def main() -> None:
    bot = Bot(CONFIG['BOT_TOKEN'], parse_mode=ParseMode.HTML)
    await dp.start_polling(bot)


if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO, stream=sys.stdout)
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        exit(0)


Но при запуске программы бот не просыпается и никаких логов не выводится. Эта проблема решается, если убрать определение прокси:
socks.set_default_proxy(socks.SOCKS5, CONFIG['SOCKS5_IP'], int(CONFIG['SOCKS5_PORT']), username=CONFIG['SOCKS5_USERNAME'], password=CONFIG['SOCKS5_PASSWORD'])
socket.socket = socks.socksocket


Но без них я не могу пользоваться openai api.
Как подружить бота с прокси?
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы