diff --git a/program/speedtest.py b/program/speedtest.py new file mode 100644 index 0000000..6720013 --- /dev/null +++ b/program/speedtest.py @@ -0,0 +1,52 @@ +# credit to TeamYukki for this speedtest module + + +import os +import wget +import speedtest + +from program.utils.formatters import bytes +from driver.filters import command, other_filters +from driver.decorators import sudo_users_only +from config import BOT_USERNAME as bname +from driver.utils import bot as app +from pyrogram import Client, filters +from pyrogram.types import Message + + +@Client.on_message(command(["speedtest", f"speedtest@{bname}"]) & ~filters.edited) +@sudo_users_only +async def statsguwid(_, message: Message): + m = await message.reply_text("Running server speedtest.") + try: + test = speedtest.Speedtest() + test.get_best_server() + m = await m.edit("Running download speedtest..") + test.download() + m = await m.edit("Running upload speedtest...") + test.upload() + test.results.share() + result = test.results.dict() + except Exception as e: + return await m.edit(e) + m = await m.edit("Sharing speedtest results....") + path = wget.download(result["share"]) + + output = f"""💡 **SpeedTest Results** + +**Client:** +**ISP:** {result['client']['isp']} +**Country:** {result['client']['country']} + +**Server:** +**Name:** {result['server']['name']} +**Country:** {result['server']['country']}, {result['server']['cc']} +**Sponsor:** {result['server']['sponsor']} +**Latency:** {result['server']['latency']} + +⚡️ **Ping:** {result['ping']}""" + msg = await app.send_photo( + chat_id=message.chat.id, photo=path, caption=output + ) + os.remove(path) + await m.delete()