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

Algumas coisas chegaram!

Algumas coisas já chegaram pelo correio, e isso é ótimo!

Projeto Rover 2.0

Enquanto a tralha não chega vamos ao planejamento do que pretendo fazer: Vou utilizar a mesma base que utilizei no primeiro, o "Tamiya 70100 Track and Wheel Set". Ele teoricamente consegue andar em "qualquer" terreno: Fonte: https://www.pololu.com/product/106 , custa $7.95 atualmente.

Privacidade/Zelda/Pi Zero W

Minha mamata de jogatinas por 10 horas seguidas acabaram. Com o tempo menor que tenho eu estou arrumando meus dados no HDD externo e na nuvem, é incrível como juntamos tanta coisa! Preciso o quanto antes terminar essa organização e achar um solução bacana pra centralizar em casa isso, esses serviços na nuvem são bacanas mas a privacidade sobre os dados armazenados estão cada vez mais distantes. Nos EUA essa semana foi aprovado que as Teles podem vender os dados de seus clientes , isso é ridículo e tem sido a tendência mundial, "O texto, que prenuncia uma maior desregulamentação do setor das telecomunicações nos EUA, foi aprovado em menos de um mês”, estamos regredindo a passos largos e apressados! O que realmente será de nós George? Eric Arthur Blair, conhecido como George Orwell (Foto: Corbis/Bettmann) Minha ideia é arrumar um NAS e configurar um RAID 1 nos discos, no geral a conexão aqui na Itália é ótima e os serviços de rede podem ser utilizados...