# На модуль распространяется лицензия "GNU General Public License v3.0"
# https://github.com/all-licenses/GNU-General-Public-License-v3.0
# meta developer: @pymodule
# requires: speedtest-cli
import speedtest
from .. import loader
class SpeedTestMod(loader.Module):
"""Модуль для проверки скорости интернета"""
strings = {"name": "SpeedTest"}
async def speedcmd(self, message):
"""Запускает тест скорости интернета"""
msg = await message.edit("Запускаем Speedtest... 🏁")
try:
st = speedtest.Speedtest()
st.get_best_server()
download = st.download() / 1_000_000 # Мбит/с
upload = st.upload() / 1_000_000 # Мбит/с
ping = st.results.ping
await msg.edit(
f"✨ Speedtest завершён! ✨\n\n"
f"Ping: {ping:.2f} ms\n"
f"📥 Загрузка: {download:.2f} Mbps\n"
f"📤 Отдача: {upload:.2f} Mbps",
parse_mode="HTML"
)
except Exception as e:
await msg.edit(f"Ошибка при выполнении Speedtest:\n{e}")