@Seelegen

Пишу телеграм бота на aiogram. Как правильно подключить прокси socks5?

В моем примере не подключается. Выдает ошибку: python_socks._errors.ProxyError: Connection not allowed by ruleset

from aiogram import Bot, Dispatcher, executor, types
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.contrib.fsm_storage.memory import MemoryStorage

BOTTOKEN = 'ВАШТОКЕН_БОТА'
PROXYURL = 'socks5://ЛОГИН:ПАРОЛЬ@АДРЕСПРОКСИ:ПОРТ'

bot = Bot(token=BOT_TOKEN, proxy=PROXY_URL)
dp = Dispatcher(bot, storage=MemoryStorage())
dp.middleware.setup(LoggingMiddleware())

@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
await message.reply("Привет! Я ваш бот.")

@dp.message_handler()
async def echo_message(msg: types.Message):
await bot.send_message(msg.from_user.id, msg.text)

if name == 'main':
executor.start_polling(dp)
  • Вопрос задан
  • 1333 просмотра
Пригласить эксперта
Ответы на вопрос 1
@theurus
import asyncio
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
from aiogram.client.session.aiohttp import AiohttpSession

import cfg

# session = AiohttpSession(proxy="socks5://172.28.1.5:1080/")
session = AiohttpSession(proxy="http://172.28.1.5:3128/")
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
# Объект бота
bot = Bot(token=cfg.token, session=session)
# Диспетчер
dp = Dispatcher()

# Хэндлер на команду /start
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
    t = f"""
{'hello '*100}
"""
    await message.answer(t)

# Запуск процесса поллинга новых апдейтов
async def main():
    await dp.start_polling(bot)

if __name__ == "__main__":
    asyncio.run(main())


Установлены модули aiogram, aiohttp_socks
Работает и сокс прокси и хттп
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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