Запуск основанного на Python бота Discord на DigitalOcean Droplet вызывает ошибку "Сброс соединения по одноранговой сети" при локальной работе

Изменить: Сценарий был запущен из виртуальной среды на Droplet, переключение на стандартную систему папок, кажется, решило проблему, закроет этот вопрос, если дальнейшее тестирование подтвердит это.

Извините, если это было бы лучше при переполнении стека, но поскольку ошибка, по-видимому, связана с запуском работающего скрипта в другой среде, это выглядело как более подходящее.

Я создал скрипт Python для управления ботом Discord с помощью API-интерфейса discord.py. Основная функция бота - переводить английские слова в конланг на основе глифов. При запуске в моей локальной системе (win 8.1) этот процесс выполняется правильно, но при запуске из дроплета (Ubuntu 18.04) бот часто не отвечает на команды перевода, и в конечном итоге этот журнал ошибок появляется в консоли:

Ignoring exception in on_message
Traceback (most recent call last):
  File "/home/synake/pybot/six/lib/python3.6/site-packages/discord/client.py", line 255, in _run_event
    await coro(*args, **kwargs)
  File "main.py", line 61, in on_message
    await message.channel.send(file=discord.File("ancient.png"), content = rep.str1)
  File "/home/synake/pybot/six/lib/python3.6/site-packages/discord/abc.py", line 759, in send
    content=content, tts=tts, embed=embed, nonce=nonce)
  File "/home/synake/pybot/six/lib/python3.6/site-packages/discord/http.py", line 158, in request
    async with self.__session.request(method, url, **kwargs) as r:
  File "/home/synake/pybot/six/lib/python3.6/site-packages/aiohttp/client.py", line 1005, in __aenter__
    self._resp = await self._coro
  File "/home/synake/pybot/six/lib/python3.6/site-packages/aiohttp/client.py", line 497, in _request
    await resp.start(conn)
  File "/home/synake/pybot/six/lib/python3.6/site-packages/aiohttp/client_reqrep.py", line 844, in start
    message, payload = await self._protocol.read()  # type: ignore  # noqa
  File "/home/synake/pybot/six/lib/python3.6/site-packages/aiohttp/streams.py", line 588, in read
    await self._waiter
aiohttp.client_exceptions.ClientOSError: [Errno 104] Connection reset by peer

Насколько я понимаю, это связано с тем, что Discord закрывает соединение на своем конце. Моя путаница заключается в том, что я не могу воспроизвести ошибку при запуске бота из моей локальной системы. Исследования побудили меня выяснить, не превышаю ли я предельную скорость сообщений, установленную Discord, но api-файл discord.py должен управлять этим автоматически, и даже быстрый запуск функции translate не приведет к ошибке соединения в локальной системе.

Я новичок как в Ubuntu, так и в виртуальных машинах, так что это может быть простой проблемой, о которой я не подозреваю, но я не знаю, как решить проблему дальше.

0 ответов

Другие вопросы по тегам