taslim19
MusicV2
a8e9b84
raw
history blame
1.33 kB
import asyncio
import speedtest
from pyrogram import filters
from pyrogram.types import Message
from DragMusic import app
from DragMusic.misc import SUDOERS
from DragMusic.utils.decorators.language import language
def testspeed(m, _):
try:
test = speedtest.Speedtest()
test.get_best_server()
m = m.edit_text(_["server_12"])
test.download()
m = m.edit_text(_["server_13"])
test.upload()
test.results.share()
result = test.results.dict()
m = m.edit_text(_["server_14"])
except Exception as e:
return m.edit_text(f"<code>{e}</code>")
return result
@app.on_message(filters.command(["speedtest", "spt"]) & SUDOERS)
@language
async def speedtest_function(client, message: Message, _):
m = await message.reply_text(_["server_11"])
loop = asyncio.get_event_loop()
result = await loop.run_in_executor(None, testspeed, m, _)
output = _["server_15"].format(
result["client"]["isp"],
result["client"]["country"],
result["server"]["name"],
result["server"]["country"],
result["server"]["cc"],
result["server"]["sponsor"],
result["server"]["latency"],
result["ping"],
)
msg = await message.reply_photo(photo=result["share"], caption=output)
await m.delete()