speedtest.py 919 B

123456789101112131415161718192021222324252627282930313233
  1. from pyrogram import filters
  2. from wbb import app, Command, OWNER_ID
  3. from wbb.utils import cust_filter
  4. import speedtest
  5. __MODULE__ = "Speedtest"
  6. __HELP__ = " - /speedtest - to perform a speedtest [only for owner]"
  7. def speed_convert(size):
  8. power = 2 ** 10
  9. zero = 0
  10. units = {0: "", 1: "Kb/s", 2: "Mb/s", 3: "Gb/s", 4: "Tb/s"}
  11. while size > power:
  12. size /= power
  13. zero += 1
  14. return f"{round(size, 2)} {units[zero]}"
  15. @app.on_message(filters.user(OWNER_ID) & cust_filter.command(commands=(["speedtest"])))
  16. async def speeeed(client, message):
  17. app.set_parse_mode("markdown")
  18. m = await message.reply_text("```Wait, Doing Speedtest!```")
  19. speed = speedtest.Speedtest()
  20. x = speed.get_best_server()
  21. y = speed.download()
  22. z = speed.upload()
  23. await m.edit(f'''
  24. ```Download - {speed_convert(y)}
  25. Upload - {speed_convert(z)}
  26. Latency - {round((x["latency"]))} ms
  27. ```''')