Python 在Discord.py中从远程服务器获取ping?

Python 在Discord.py中从远程服务器获取ping?,python,discord,discord.py,discord.py-rewrite,Python,Discord,Discord.py,Discord.py Rewrite,我正在用discord.py为我的个人服务器编写一个discord机器人。我和我的朋友是经常玩游戏的人,喜欢玩传奇联盟,所以我想我们的机器人的一个很酷的功能是显示我们和Riot服务器之间的当前延迟。到目前为止,我已经附上了这段代码,但它总是从托管bot的位置返回ping。有没有一种方法可以让我获得向bot发出命令的人的ping?代码使用pythonping,可以在这里找到。谢谢:) 不可能。它总是返回bot的ping的原因是bot启动了ping请求。这个命令只是告诉机器人去做 机器人无法从另一台

我正在用discord.py为我的个人服务器编写一个discord机器人。我和我的朋友是经常玩游戏的人,喜欢玩传奇联盟,所以我想我们的机器人的一个很酷的功能是显示我们和Riot服务器之间的当前延迟。到目前为止,我已经附上了这段代码,但它总是从托管bot的位置返回ping。有没有一种方法可以让我获得向bot发出命令的人的ping?代码使用pythonping,可以在这里找到。谢谢:)


不可能。它总是返回bot的ping的原因是bot启动了ping请求。这个命令只是告诉机器人去做


机器人无法从另一台机器启动ping请求。

添加到@Benjin的答案中

根据的定义,发送ping的机器(在本例中为discord bot)测量接收回其数据包所需的时间。因此,由于bot无法从用户的机器发送数据包,因此无法测量其ping

也许你可以让机器人提供一个到Riot的滞后报告页面的链接,这样用户就可以根据自己的位置进行自我检查。然而,这似乎只适用于某些位置,我不知道它有多有用

祝你好运

import discord
from discord.ext import commands
from pythonping import ping

client = commands.Bot(command_prefix = '.')

@client.event
async def on_ready():
    print('Bot is ready.')

@client.command()
    async def lolping(ctx):
    server = '104.160.131.3'
    response = ping(server, size=40, count = 10)
    print(response)
    await ctx.send(f'Current NA LOL Ping: {response.rtt_avg_ms}ms')