File size: 1,334 Bytes
a8e9b84 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
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()
|