Pular para o conteúdo principal

Telegram - Criando um BOT



O Telegram é um app de mensagens web, mobile e desktop, é possível utiliza-lo sem a necessidade de um número de celular e os usuários podem conversar uns com os outros sem trocarem seus telefones apenas o @usuário.

Uma das dezenas de funções únicas do Telegram é a possibilidade de qualquer pessoa criar um Bot, um usuário eletrônico que segue um algoritmo do criador por meio de comandos pré-definidos. Vou ensinar aqui como fazer um Bot que envia mensagens aleatórias de um arquivo TXT.

A primeira coisa a ser feita é você já ser um usuário Telegram. Com sua conta criada comece uma conversa com o @BotFather. Envie as mensagens na seguinte ordem:

  1. /newbot
  2. Envie o nome do bot, ainda não é o usuário.
  3. Agora sim, envie uma mensagem com o usuário do bot, por exemplo rtemtxtbot ou rtemtxt_bot, ele precisa terminar com a palavra bot e será encontrado por outros por meio desse nome por exemplo @rtemtxtbot ou @rtemtxt_bot
  4. Pronto seu Bot está pronto para ganhar o mundo.
Com o Bot criado agora é hora de instala-lo utiliza-lo, a mensagem final do @BotFather tem um token que será usado neste passo.

Iremos utilizar o Telepot, uma biblioteca do Python que te permite se conectar à API de Bots do Telegram. Vou focar em executar esse Bot no Raspberry Pi com Raspbian ou alguma destruição baseada no Debian.

Para instalar o Telepot no Raspbian são dois simples comandos:

$sudo apt-get install python-pip
$sudo pip install telepot

Pronto, já podemos criar o nosso primeiro script que se conectara à API de Bots do Telegram e executar a leitura aleatória do nosso arquivo TXT e enviara uma das linhas sorteadas.

O script será esse, crie por exemplo o script.py e apenas substitua os campos em amarelo com suas informações:

import random
import telepot
 
def handle(msg):
    chat_id = msg['chat']['id']
    command = msg['text']
    print ‘Comando recebido: %s' % command

    if command == ‘/COMANDO’:
        lines = open(‘arquivo.txt').read().splitlines()
        mensagem = random.choice(lines)
        bot.sendMessage(chat_id, mensagem)
    elif command == ‘/COMANDO@SEU BOT’:
        lines = open(‘arquivo.txt').read().splitlines()
        mensagem = random.choice(lines)
        bot.sendMessage(chat_id, mensagem)
 
bot = telepot.Bot(‘TOKEN’)
bot.message_loop(handle)
print 'Bruwonnnnn...'
while 1:
    time.sleep(10)
 
Feito isso salve na mesma pasta do script.py um arquivo chamado arquivo.txt, coloque várias linhas com textos que você quer usar no seu Bot, lembrando que esse é apenas um exemplo, você poderá criar todo tipo de ações e interações alterando o código acionado quando se recebe o comando pré-definido, você só precisa entender o básico de Python, a web é uma fonte infinita de conhecimento para tal.

Baixe aqui o script.py e o arquivo.txt.


Para colocar seu bot em ação execute o script.py e mantenha-o aberto, abra o seu Telegram procure seu Bot e envie o comando que você definiu no script.py. Você receberá de volta uma das linhas do arquivo.txt!


Alguma pergunta ou sugestão escreva nos comentários.


Ciao!

Postagens mais visitadas deste blog

Open Media Vault

Algumas semana atrás eu quis centralizar as mídias que temos em casa, a rotina de ter que ficar com pendrive pra lá e pra cá se quisesse assistir uma filme ou série baixada estava bem chata.
Depois de muito pesquisar decidi pelo Open Media Vault, ele é fácil de implementar usando as imagens prontas que eles disponibilizam aqui: https://sourceforge.net/projects/openmediavault/files/
Para gravar no SD eu sugiro usar o Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/
Para escolher a plataforma que você vai usar dê uma olhada no vídeo do "Cabelinho", ele explica bacana como funciona usando o Rock64 comparando-o com outras soluções:

Eu diria que o ideal é usar um plataforma com uma USB 3.0, em casa acabei usando um Raspberry Pi pois era o que eu tinha sobrando aqui.
As credenciais padrões são:

        User: admin
        Password: openmediavault

Atualize o sistema no Update Management, REINICIE, ele dá erros na instalação dos plugins se você não reiniciar de…

Nintendo Switch

Tô me sentindo uma criança em uma manhã de Natal! Chegou adiantado o Nintendo Switch. O console realmente é robusto, estava vendo bastante reviews e tudo se confirma. Os Joy-Con's são muito confortáveis e tudo nele parece bem firme com plásticos de alta qualidade, eu acho por exemplo alguns botões do 3DS muito soltos, se você balançar ele fica dançando fazendo barulho, no Switch é tudo bem encaixado.