Задать вопрос

Как запустить Telegram бота в Китае?

Всем привет! Я живу в Китае и хочу сделать Telegram бота, но при попытке запустить его вылазит вот такая ошибка:
Traceback (most recent call last):
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 986, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore[return-value]  # noqa
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1055, in create_connection
    raise exceptions[0]
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1040, in create_connection
    sock = await self._connect_sock(
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 954, in _connect_sock
    await self.sock_connect(sock, address)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\proactor_events.py", line 704, in sock_connect
    return await self._proactor.connect(sock, address)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 817, in _poll
    value = callback(transferred, key, ov)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 604, in finish_connect
    ov.getresult()
OSError: [WinError 121] Превышен таймаут семафора

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\api.py", line 139, in make_request
    async with session.post(url, data=req, **kwargs) as response:
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client.py", line 1138, in __aenter__
    self._resp = await self._coro
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client.py", line 535, in _request
    conn = await self._connector.connect(
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 542, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 907, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 1206, in _create_direct_connection
    raise last_exc
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 1175, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\connector.py", line 992, in _wrap_create_connection
    raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.telegram.org:443 ssl:default [Превышен таймаут семафора]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Programming\Python\Ozoqua-Anonim-chat-bot-main\main.py", line 351, in <module>
    executor.start_polling(dp, skip_updates=True)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\utils\executor.py", line 45, in start_polling
    executor.start_polling(
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\utils\executor.py", line 320, in start_polling
    loop.run_until_complete(self._startup_polling())
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 641, in run_until_complete
    return future.result()
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\utils\executor.py", line 372, in _startup_polling
    await self._welcome()
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\utils\executor.py", line 361, in _welcome
    user = await self.dispatcher.bot.me
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\bot.py", line 30, in me
    setattr(self, '_me', await self.get_me())
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\bot.py", line 228, in get_me
    result = await self.request(api.Methods.GET_ME, payload)
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\base.py", line 231, in request
    return await api.make_request(await self.get_session(), self.server, self.__token, method, data, files,
  File "C:\Users\query\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\api.py", line 142, in make_request
    raise exceptions.NetworkError(f"aiohttp client throws an error: {e.__class__.__name__}: {e}")
aiogram.utils.exceptions.NetworkError: Aiohttp client throws an error: ClientConnectorError: Cannot connect to host api.telegram.org:443 ssl:default [Превышен таймаут семафора]


Я перепробовал разные ВПН, разные языки программирования, но все безуспешно.

Сейчас мне приходится загружать код на replit, чтобы просто запустить бота. Но там даже нет отладки, так что это не очень удобно. Пожалуйста помогите.

P.S VPN у меня есть, но он не помогает.

Update:
На сколько я понял проблема в этом url - https://api.telegram.org

В Postman запрос возврщает статус код 200, а python ошибку
Скриншоты удалены модератором.
  • Вопрос задан
  • 577 просмотров
Подписаться 2 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@Drno
Ну судя по всему твой провайдер блокирует доступ к серверам телеграмм

Так что запускай его на той VPS, у которой этот доступ есть))

Лично я бы делал так.
Арендуешь VPS в нормальном месте
Поднимаешь там AmnesiaVPN(openvpn+cloak)
Подключаешься к нему и тестишь.
После того как все сделаешь - заливаешь бота на этот VPS
Ответ написан
Ваш ответ на вопрос

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

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