无法建立新连接 Discord.py

     2023-03-13     176

关键词:

【中文标题】无法建立新连接 Discord.py【英文标题】:Failed to establish a new connection Discord.py 【发布时间】:2019-05-30 17:44:57 【问题描述】:

您好,在我的代码中它破坏了我的请求,我尝试了几次,但 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(主机='username.mydomain',端口=80):最大重试次数超过了url:/project/total_visit/count.txt(由NewConnectionError引起(':无法建立新的连接:[WinError 10061] 无法建立连接,因为目标机器主动拒绝它',))",),)> 回溯(最近一次通话最后): _new_conn 中的文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\connection.py”,第 159 行 (self._dns_host, self.port), self.timeout, **extra_kw) 文件“C:\Users\Administrator\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] 由于目标机器主动拒绝,无法建立连接

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次): 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\connectionpool.py”,第 600 行,在 urlopen 分块=分块) _make_request 中的文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\connectionpool.py”,第 354 行 conn.request(方法,网址,**httplib_request_kw) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\http\client.py”,第 1239 行,在请求中 self._send_request(方法、url、正文、标头、encode_chunked) _send_request 中的文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\http\client.py”,第 1285 行 self.endheaders(正文,encode_chunked=encode_chunked) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\http\client.py”,第 1234 行,在 endheaders self._send_output(message_body, encode_chunked=encode_chunked) _send_output 中的文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\http\client.py”,第 1026 行 自我发送(味精) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\http\client.py”,第 964 行,在发送中 self.connect() 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\connection.py”,第 181 行,在连接中 conn = self._new_conn() _new_conn 中的文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\connection.py”,第 168 行 self, "建立新连接失败: %s" % e) urllib3.exceptions.NewConnectionError: : 无法建立新连接:[WinError 10061] 由于目标机器主动拒绝,无法建立连接

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次): 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\adapters.py”,第 449 行,发送 超时=超时 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\connectionpool.py”,第 638 行,在 urlopen _stacktrace=sys.exc_info()[2]) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\urllib3\util\retry.py”,第 398 行,增量 raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='username.mydomain', port=80): Max retries exceeded with url: /project/total_visit/count.txt (由 NewConnectionError(': 无法建立新连接: [ WinError 10061] 由于目标机器主动拒绝,无法建立连接',))

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次): 调度程序中的文件“C:\Users\Administrator\Desktop\bot.py”,第 33 行 await client.change_presence(game=discord.Game(name='Total Used : '+requests.get('http://username.mydomain/project/total_visit/count.txt').text, type=3)) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\api.py”,第 75 行,在 get 返回请求('get', url, params=params, **kwargs) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\api.py”,第 60 行,在请求中 返回 session.request(method=method, url=url, **kwargs) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\sessions.py”,第 533 行,在请求中 resp = self.send(prep, **send_kwargs) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\sessions.py”,第 646 行,发送 r = adapter.send(request, **kwargs) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\requests\adapters.py”,第 516 行,发送 引发 ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='username.mydomain', port=80): Max retries exceeded with url: /project/total_visit/count.txt (由 NewConnectionError(': 无法建立新连接: [ WinError 10061] 由于目标机器主动拒绝,无法建立连接',))

【问题讨论】:

【参考方案1】:

肯定你必须得到错误,你做了很多get.requests。

要解决它,请尝试(关闭请求)/(重新启动 Bot [后台命令])

嗯,我还不够好,但你可以试试我的步骤

1) 添加完整(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 I.A(Gamer's Control)。

【讨论】:

我想我明白你的意思了,很酷。谢谢你的帮助。我会测试它,

无法与 aSmack 4.0.2 建立新连接

】无法与aSmack4.0.2建立新连接【英文标题】:Can\'testablishanewconnectionwithaSmack4.0.2【发布时间】:2014-08-1112:58:53【问题描述】:我正在学习Android编程,这几天我一直在尝试解决这个问题。我正在编写应该连接到XMPP服务器的Android应... 查看详情

何时关闭 MySQL 连接 discord.py

】何时关闭MySQL连接discord.py【英文标题】:WhentocloseMySQLconnectiondiscord.py【发布时间】:2021-09-2603:20:56【问题描述】:我想制作一个不和谐的机器人,将数据保存到MySQL数据库(当前为localhost),但问题是我不知道何时关闭数据库... 查看详情

如何在 discord.py 中创建 discord.Permissions 对象?

】如何在discord.py中创建discord.Permissions对象?【英文标题】:HowcanIcreateadiscord.Permissionsobjectindiscord.py?【发布时间】:2019-11-0622:18:18【问题描述】:我想创建一个角色,该角色具有从字典中获取的某些特定权限。这是我尝试过的:... 查看详情

discord.py 中的机器人无法创建角色

】discord.py中的机器人无法创建角色【英文标题】:botindiscord.pycannotcreaterole【发布时间】:2020-10-1614:06:35【问题描述】:我正在尝试制作一个不和谐的机器人,当有人发送消息时它会创建一个角色。出于某种原因,它一直说“ctx... 查看详情

我试图在 discord.py 中创建一个楼梯命令

】我试图在discord.py中创建一个楼梯命令【英文标题】:Itriedtomakeastaircommandindiscord.py【发布时间】:2021-09-0411:01:17【问题描述】:我尝试在discord.py中创建一个楼梯命令,它应该是这样的:---I----I等等……但我得到一个错误:Syntax... 查看详情

我需要帮助在 discord py 中创建 discord py temp 静音命令

】我需要帮助在discordpy中创建discordpytemp静音命令【英文标题】:Ineedhelpmakingadiscordpytempmutecommandindiscordpy【发布时间】:2020-07-0905:00:20【问题描述】:我让我的不和谐机器人有一个静音命令,但您必须稍后自己取消静音用户,我... 查看详情

如何在 discord.py 中创建垃圾邮件命令

】如何在discord.py中创建垃圾邮件命令【英文标题】:Howtomakeaspamcommandindiscord.py【发布时间】:2021-05-1112:28:17【问题描述】:我今天刚开始学py,想做一个使用args来选择的垃圾邮件命令消息发送多少次我想发送的垃圾邮件是什么... 查看详情

如何在 discord.py 中创建密码检查命令 [关闭]

】如何在discord.py中创建密码检查命令[关闭]【英文标题】:Howtocreateapasswordcheckingcommandindiscord.py[closed]【发布时间】:2021-10-3119:26:36【问题描述】:我最近尝试构建我的不和谐机器人,并且我想创建一个不和谐命令来检查您的密... 查看详情

如何在 discord.py 中创建一个不断变化的 Discord bot 丰富的存在?

】如何在discord.py中创建一个不断变化的Discordbot丰富的存在?【英文标题】:HowtomakeaconstantlychangingDiscordbotrichpresenceindiscord.py?【发布时间】:2021-07-0515:55:42【问题描述】:所以,我正在制作一个Discord机器人。它工作正常,命令也... 查看详情

在特定类别中创建频道(类别 id 应该是可变的) discord.py

】在特定类别中创建频道(类别id应该是可变的)discord.py【英文标题】:Creatingachannelinspecificcategory(thecategoryidisshouldbevariable)discord.py【发布时间】:2021-09-1500:25:45【问题描述】:maincategory=discord.utils.get(guild.categories,id=8584413506676981... 查看详情

数据库无法连接到我在 digitalocean 上的不和谐机器人 (discord.py)

】数据库无法连接到我在digitalocean上的不和谐机器人(discord.py)【英文标题】:databasewon\'tconnecttomydiscordbotondigitalocean(discord.py)【发布时间】:2021-07-3109:19:38【问题描述】:我使用digitalocean并在我的droplets中添加了数据库管理,并做... 查看详情

什么可以延迟与 NetTcpBinding 建立新连接?

】什么可以延迟与NetTcpBinding建立新连接?【英文标题】:WhatcandelaytheestablishmentofnewconnectionswithNetTcpBinding?【发布时间】:2014-12-1111:11:24【问题描述】:我们有WCF服务,有时,通过新建立的通道完成的请求需要3到8秒,即使使用池... 查看详情

由于 EnvironmentError 无法安装“discord.py”

】由于EnvironmentError无法安装“discord.py”【英文标题】:Couldnotinstall`discord.py`duetoEnvironmentError【发布时间】:2020-09-2222:49:57【问题描述】:[Windows10][Python3.8.3]其余错误:CouldnotfindasuitableTLSCAcertificatebundle,invalidpath:path/to/ca-bu 查看详情

discord.py:MySQL '光标未连接'

】discord.py:MySQL\\\'光标未连接\\\'【英文标题】:discord.py:MySQL\'Cursorisnotconnected\'discord.py:MySQL\'光标未连接\'【发布时间】:2021-07-2507:11:18【问题描述】:我试图在踢公会成员之前将数据存储在我的本地数据库中。我在另一个文... 查看详情

我无法使用 discord.py 向我的 discord 机器人添加命令

】我无法使用discord.py向我的discord机器人添加命令【英文标题】:Ican\'taddcommandstomydiscordbotwithdiscord.py【发布时间】:2018-12-0112:36:54【问题描述】:这是我的代码:fromdiscord.extimportcommandsimportdiscordimportconfigclassBot(commands.AutoShardedBot)... 查看详情

离线使用数据库,然后在与 iPhone 建立新连接时更新

】离线使用数据库,然后在与iPhone建立新连接时更新【英文标题】:Usingdatabaseoffline,thenupdatingwhennewconnectionestablishedwithiPhone【发布时间】:2016-08-2311:03:05【问题描述】:我被要求让我的应用程序离线可用,这意味着存储通过Api收... 查看详情

关闭 Discord 机器人连接而不终止命令行 (discord.py)

】关闭Discord机器人连接而不终止命令行(discord.py)【英文标题】:ClosingDiscordbotconnectionwithoutterminatingcommandline(discord.py)【发布时间】:2021-03-2719:52:28【问题描述】:目的:在不中断其他命令的情况下添加更多命令我一直在寻找一种... 查看详情

我如何在 Discord.py 中创建一个您 @ 用户的命令并给该用户一个拥抱

】我如何在Discord.py中创建一个您@用户的命令并给该用户一个拥抱【英文标题】:HowdoimakeacommandinDiscord.pythatyou@auseranditgivesthatuserahug【发布时间】:2021-08-2723:51:00【问题描述】:请帮助我只想让它说“拥抱@user”【问题讨论】:你... 查看详情