Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python BaseClient.handshake从来都不是人们期待的_Python_Discord_Discord.py - Fatal编程技术网

Python BaseClient.handshake从来都不是人们期待的

Python BaseClient.handshake从来都不是人们期待的,python,discord,discord.py,Python,Discord,Discord.py,我正在尝试制作一个on_ready事件,询问我是否希望在我的客户机上显示丰富的内容,并键入“n”或“否”起作用,但键入“y”或“是”会告诉我错误。我不确定是否有什么我需要等待,因为我是一个新的丰富的存在 Ignoring exception in on_ready Traceback (most recent call last): File "C:\Users\selma\AppData\Local\Programs\Python\Python39\lib\site-packag

我正在尝试制作一个on_ready事件,询问我是否希望在我的客户机上显示丰富的内容,并键入“n”或“否”起作用,但键入“y”或“是”会告诉我错误。我不确定是否有什么我需要等待,因为我是一个新的丰富的存在

Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\selma\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "c:\Users\selma\OneDrive\Desktop\Phoenix Bot\main.py", line 1651, in on_ready
    await rpc.connect()
  File "C:\Users\selma\AppData\Local\Programs\Python\Python39\lib\site-packages\pypresence\presence.py", line 43, 
in connect
    self.loop.run_until_complete(self.handshake())
  File "C:\Users\selma\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 618, in run_until_complete
    self._check_running()
  File "C:\Users\selma\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 578, in _check_running
    raise RuntimeError('This event loop is already running')
RuntimeError: This event loop is already running
C:\Users\selma\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py:350: RuntimeWarning: coroutine 'BaseClient.handshake' was never awaited
  pass
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
@client.event
_ready()上的异步定义:
打印(f“{client.user.name}已准备就绪。”)
打印(f“开始于:{datetime.datetime.utcnow()}”)
打印(f“公会:{len(client.Guilds)}”)
打印(“您想要丰富的状态吗?(y/n)”)
e=输入(“”)
如果e.lower()=“y”:
rpc=存在(“804897816434180096”)
等待rpc.connect()
等待rpc.update(
details=“邀请并在下面投票”,
大型图片=“凤凰”,
大型\u text=“邀请凤凰机器人”,
按钮=[
{“标签”:“邀请凤凰机器人”,“url”:https://discord.com/oauth2/authorize?client_id=804897816434180096&scope=bot%20applications.commands&permissions=8},{“标签”:“投票给凤凰机器人”,“url”:https://top.gg/bot/804897816434180096/vote" }
]
)
elif e.lower()=“是”:
rpc=存在(“804897816434180096”)
等待rpc.connect()
等待rpc.update(
details=“邀请并在下面投票”,
大型图片=“凤凰”,
大型\u text=“邀请凤凰机器人”,
按钮=[
{“标签”:“邀请凤凰机器人”,“url”:https://discord.com/oauth2/authorize?client_id=804897816434180096&scope=bot%20applications.commands&permissions=8},{“标签”:“投票给凤凰机器人”,“url”:https://top.gg/bot/804897816434180096/vote" }
]
)
elif e.lower()=“n”:
返回打印(“丰富显示关闭”)
elif e.lower()=“否”:
返回打印(“丰富显示关闭”)

我没有任何方法进行测试,但您可以尝试在调用
Presence()
时指定
循环
参数。像这样:

rpc=Presence(“804897816434180096”,loop=client.loop)
此外,请使用
语句,而不是重复代码

而不是:

    elif e.lower() == "n":
      return print("Rich Presence is off")
    elif e.lower() == "no":
      return print("Rich Presence is off")
这样做:

    elif e.lower() == "n" or e.lower() == "no":
       return print("Rich Presence is off")

快速查看文档就可以解决此问题,
Presence().connect()
不是一个协同程序,即不需要等待

rpc=Presence(“804897816434180096”)
rpc.connect()
rpc.update(**kwargs)

能否添加到您正在使用的RPC模块的链接?请不要重复代码(在“y&yes分支”中,与“n&no”相同)。当我尝试这样做时,它给出了相同的错误。我还需要添加其他内容吗?请尝试
loop=asyncio.new\u event\u loop()
,而不是
loop=client.loop
。如果查看错误,这不是问题所在。等待一个不可等待的结果会产生一个不同的错误。我试过了,但得到了同样的错误,我做了一个新的方法。