Medindo velocidade de sua internet por BOT

Medindo velocidade de sua internet por BOT

Gostaria de compartilhar uma solução simples para verificar a velocidade da rede quando não estiver em casa.

Basta enviar para o seu Bot a seguinte mensagem “teste” e ele fará os testes e enviará uma imagem resultado do teste.

Segue um exemplo da resposta:

No trecho “bot = telepot.Bot(“<Token>”)

Será necessário preencher Token do Bot gerado pelo BotFather do Telegram. 

Para este trecho chat = <ID>”

Basta informar o ID do grupo ou chat.

Para descobrir o Chat id. Basta enviar uma mensagem para o seu BOT e acessar o seguinte endereço:

https://api.telegram.org/bot<ID-BOT>/getUpdates

Será exibido um Json semelhante a este:

import telepot import urllib.request import os import time import subprocess import re  bot = telepot.Bot(“<Token>”) #Token Telegram  chat = <ID> # ID do grupo ou Chat individual

 def speedTest():

    speedtest = subprocess.Popen(‘speedtest-cli —

share’,shell=True,stdout=subprocess.PIPE).stdout.read().decode(‘utf-

8′)     operadora =

re.sub(‘\’\]’,”,re.sub(‘\[\”,”,str(re.findall(‘Testing from\s(.*?)\s’, speedtest, re.MULTILINE))))     ip =

re.sub(‘\’\]’,”,re.sub(‘\[\”,”,str(re.findall(‘\d{1,3}\.\d{1,3}\.\d

{1,3}\.\d{1,3}’,speedtest, re.MULTILINE))))     download = re.findall(‘Download:\s(.*?)\s’, speedtest, re.MULTILINE)

    upload = re.findall(‘Upload:\s(.*?)\s’,speedtest,re.MULTILINE)     URL = re.findall(‘Share results:\s(.*)’,speedtest,re.MULTILINE)     return operadora,ip,download,upload,URL

 def enviaIP(msg):

    retorno = msg[‘text’]     if retorno.upper() == ‘IP’:         print(‘Executando…’)

        operadora,ip,download,upload,URL = speedTest()         resposta = ‘O seu IP é ‘ + str(ip) + ‘ na operadora ‘ + str(operadora)

        bot.sendMessage(chat,resposta);     elif retorno.upper() == ‘TESTE’:         bot.sendMessage(chat,’Vou fazer os testes pra você…’)         print(‘SpeedTest Iniciado…’)         time.sleep(2)

        operadora,ip,download,upload,URL = speedTest()         photo = re.sub(‘\’\]’,”,re.sub(‘\[\”,”,str(URL)))         print(photo)

        bot.sendPhoto(chat,str(photo))

         if __name__ == “__main__”:     bot.sendMessage(chat,’Raspiberry Online – Script OK’)     bot.message_loop(enviaIP)     while 1:         pass;

 Autor: Igor Augusto Veloso Ceranto

Facebook
Twitter
LinkedIn

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *