Не удалось установить новое соединение Discord.py - PullRequest
0 голосов
/ 04 января 2019

Здравствуйте, в моем коде это сломало мой запрос, я пытался несколько раз, но через 1-2 часа статус бота больше не менялся.

Я размещаю эти файлы на ftp-сервере.

import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
import time
import random
from discord import Game
import math, time
import requests

Client = discord.client
client = commands.Bot(command_prefix = '!')
Clientdiscord = discord.Client()

@client.event
async def on_ready():

client.loop.create_task(scheduler())
print('project ready')

async def scheduler():
while True:
    # sleep until the next whole second
    now = time.time()
    await asyncio.sleep(math.ceil(now) - now)

    await client.change_presence(game=discord.Game(name='steady', type=3))
    await asyncio.sleep(5)
    await client.change_presence(game=discord.Game(name='ready', type=3))
    await asyncio.sleep(5)
    await client.change_presence(game=discord.Game(name='go', type=3))
    await asyncio.sleep(5)
    await client.change_presence(game=discord.Game(name='Total Used : '+requests.get('http://username.mydomain/project/total_visit/count.txt').text, type=3))
    await asyncio.sleep(10)
    await client.change_presence(game=discord.Game(name='Online : '+requests.get('http://username.mydomain/project/total_online/Live.php').text, type=3))
    await asyncio.sleep(10)
    await client.change_presence(game=discord.Game(name='Total Users : '+requests.get('http://username.mydomain/project/total_users/total.php').text, type=3))
    await asyncio.sleep(10)
    await client.change_presence(game=discord.Game(name='return again', type=3))

    #i tired to kill all request to start clear again.
    client.logout()
    client.close()
    await asyncio.sleep(20)


    client.run("client_token")

Исключение задачи никогда не было получено в будущем: исключение = ConnectionError (MaxRetryError ("HTTPConnectionPool (host = 'username.mydomain', port = 80): превышено максимальное количество попыток с помощью url: /project/total_visit/count.txt (вызвано)by NewConnectionError (': Не удалось установить новое соединение: [WinError 10061] Не удалось установить соединение, поскольку целевая машина активно отказывала в этом',)) ",),)> Traceback (последний вызов был последним): файл" C:\ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ urllib3 \ connection.py ", строка 159, в _new_conn (self._dns_host, self.port), self.timeout, ** extra_kw) Файл "C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ urllib3 \ util \ connection.py", строка 80, в файле create_connection увеличить файл ошибки "C:\ Users \ Administrator \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ urllib3 \ util \ connection.py ", строка 70, в create_connection sock.connect (sa) ConnectionRefusedError: [WinError 10061] Невозможно установить соединение, так как целевой компьютер активноотклонил его

Во время обработки вышеуказанного исключения произошло другое исключение:

Трассировка (последний вызов был последним): файл "C: \ Users \ Administrator \ AppData \ Local \ Programs \ Python \"Python36-32 \ lib \ site-packages \ urllib3 \ connectionpool.py ", строка 600, в urlopen chunked = chunked) Файл" C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ urllib3 \ connectionpool.py ", строка 354, в _make_request conn.request (метод, URL, ** httplib_request_kw) Файл" C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \http \ client.py ", строка 1239, в запросе self._send_request (метод, URL, тело, заголовки, encode_chunked) Файл" C: \ Users \ Administrator \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ http\ client.py ", строка 1285, в _send_request self.endheaders (body, encode_chunked = encode_chunked) Файл "C: \ Users \ Administrator \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ http \ client.py", строка 1234, в конечных заголовках self._send_output (message_body, encode_chunked = encode_chunked) Файл "C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ http \ client.py", строка 1026, в файле _send_output self.send (msg), "C": \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ http \ client.py ", строка 964, в отправляемом файле self.connect ()" C: \ Users \ Администратор \ AppData \ Local \ "Программы \ Python \ Python36-32 \ lib \ site-packages \ urllib3 \ connection.py ", строка 181, в файле connect conn = self._new_conn ()" C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ "Python36-32 \ lib \ site-packages \ urllib3 \ connection.py ", строка 168, в _new_conn self," Не удалось установить новое соединение:% s "% e) urllib3.exceptions.NewConnectionError:: Не удалось установить новыйconnection: [WinError 10061] Невозможно установить соединение, так как целевой компьютер активенy отклонил его

Во время обработки вышеуказанного исключения произошло другое исключение:

Трассировка (последний вызов был последним): файл "C: \ Users \ Administrator \ AppData \ Local \ Programs \ Python\ Python36-32 \ lib \ site-packages \ запросы \ adapters.py ", строка 449, в поле тайм-аут отправки = время ожидания Файл" C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ urllib3 \ connectionpool.py ", строка 638, в urlopen _stacktrace = sys.exc_info () [2]) Файл" C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site "-packages \ urllib3 \ util \ retry.py ", строка 398, в инкрементном повышении MaxRetryError (_pool, url, error или ResponseError (причина))urllib3.exceptions.MaxRetryError: HTTPConnectionPool (host = 'username.mydomain', port = 80): превышено максимальное количество попыток с помощью url: /project/total_visit/count.txt (вызвано NewConnectionError (': не удалось установить новое соединение: [WinError 10061] Невозможно установить соединение, поскольку целевая машина активно отказывала ему ',))

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (последний вызов был последним):Файл "C: \ Users \ Administrator \ Desktop \ bot.py", строка 33, в планировщике ожидает client.change_presence (game = discord.Game (name = 'Всего использовано:' + запросы.get ('* 1020)* type = 3)) Файл "C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ запросы \ api.py", строка 75, в запросе возврата get ('get', url, params = params, ** kwargs) Файл "C: \ Users \ Администратор \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ запросы \ api.py", строка 60, взапрос возврата session.request (method = method, url = url, ** kwargs) Файл "C: \ Users \ Administr"ator \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ запросы \ sessions.py ", строка 533, в запросе resp = self.send (prep, ** send_kwargs) Файл" C: \ Users "\ Administrator \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ запросы \ sessions.py ", строка 646, в файле send r = adaptor.send (request, ** kwargs) Файл" C: \Users \ Administrator \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ запросы \ adapters.py ", строка 516, при отправке вызвать ConnectionError (e, request = request) request.exceptions.ConnectionError: HTTPConnectionPool(host = 'username.mydomain', port = 80): Превышено максимальное количество повторов с помощью url: /project/total_visit/count.txt (вызвано NewConnectionError (': не удалось установить новое соединение: [WinError 10061] Соединение не может бытьсделано потому что целевая машина активно отказывалась ',))

1 Ответ

0 голосов
/ 07 января 2019

определенно вы должны получить ошибку, вы сделали много get.requests.

чтобы решить эту проблему, попробуйте (Закрыть запрос) / (перезапустите бот [фоновая команда])

хм, я не достаточно хорош, но вы можете попробовать мой шаг

1) add Full (библиотека urllib3)

import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
import time
import random
from discord import Game
import math, time
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
import urllib3
import urllib3.contrib.pyopenssl
import certifi

2) add (Backgroundworker) Команда [перезапустит вашget.request каждый раз.]

Client = discord.client
client = commands.Bot(command_prefix = '!')
Clientdiscord = discord.Client()

urllib3.contrib.pyopenssl.inject_into_urllib3()

@client.event
async def on_ready():
print('Project Runing..!')


async def task():
await client.wait_until_ready()
while True:

   await client.change_presence(game=discord.Game(name='Loading..!', type=3))

   print('Get_Url-Refresh')
   await asyncio.sleep(1)
   print('Total_Used')
   one = requests.get('http://username.mydomain/project/total_visit/count.txt', timeout=5)
   print('Total_Online')
   two = requests.get('http://username.mydomain/project/total_online/Live.php', timeout=5)
   print('Total_Users')
   three = requests.get('http://username.mydomain/project/total_users/total.php', timeout=5)
   await asyncio.sleep(1)
   print('Refresh Request')

   await asyncio.sleep(10)



   print('Running')
   await client.change_presence(game=discord.Game(name='steady', type=3))
   await asyncio.sleep(5)
   await client.change_presence(game=discord.Game(name='ready', type=3))
   await asyncio.sleep(5)
   await client.change_presence(game=discord.Game(name='go', type=3))
   await asyncio.sleep(5)
   print('Total Used..!')
   await client.change_presence(game=discord.Game(name='Total Used : ' + one.text, type=3))
   await asyncio.sleep(5)
   print('Online..!')
   await client.change_presence(game=discord.Game(name='Online : ' + two.text, type=1))
   await asyncio.sleep(5)
   print('Total Users..!')
   await client.change_presence(game=discord.Game(name='Total Users : ' + three.text, type=3))
   await asyncio.sleep(5)
   print('Refresh..!')

   def handle_exit():
print("Handling")
client.loop.run_until_complete(client.logout())
for t in asyncio.Task.all_tasks(loop=client.loop):
    if t.done():
        t.exception()
        continue
    t.cancel()
    try:
        client.loop.run_until_complete(asyncio.wait_for(t, 5, loop=client.loop))
        t.exception()
    except asyncio.InvalidStateError:
        pass
    except asyncio.TimeoutError:
        pass
    except asyncio.CancelledError:
        pass


   while True:
   @client.event
   async def on_message(m):
    if m.content == 'die':
        print("Terminating")
        raise SystemExit

client.loop.create_task(task())
try:
    client.loop.run_until_complete(client.start('You_Token_Here'))
except SystemExit:
    handle_exit()
except KeyboardInterrupt:
    handle_exit()
    client.loop.close()
    print("Program ended")
    break

print("Bot restarting")
client = discord.Client(loop=client.loop)

Кредиты для Dev IA (Контроль игрока).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...