Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolva um Bot de Telegram com Python

Desenvolva um Bot de Telegram com Python

Apresentado no 2o. Encontro do PUG-SE

Wagner Macedo

May 24, 2016
Tweet

More Decks by Wagner Macedo

Other Decks in Programming

Transcript

  1. Registrando o seu bot com o @BotFather /newbot Meu novo

    bot meunovobot @BotFather gera um token The one bot to rule them all...
  2. Comunicação dos bots com a rede do Telegram Polling: o

    mais comum REST getUpdates updates Webhook REST setWebhook <http://prime.opt/tg> updates REST getUpdates updates ⋮ updates updates ⋮
  3. Métodos disponíveis • sendMessage • forwardMessage • sendPhoto • sendAudio

    • sendDocument • sendSticker • sendVideo • sendVoice • sendLocation • sendContact • ...
  4. Bot tem regras estritas • Um bot nunca inicia uma

    conversa! • Um bot não pode mandar mensagens para um grupo se não for membro! • Configurações de privacidade em grupos – Um bot só recebe as mensagens de /comandos ou quando o @nomebot é mencionado (por padrão). – Se houver mais de um bot, é importante usar a notação /comando@nomebot para desambiguar.
  5. pyTelegramBotAPI https://github.com/eternnoir/pyTelegramBotAPI import telebot bot = telebot.TeleBot("TOKEN") @bot.message_handler(commands=['start', 'help']) def

    send_welcome(message): bot.reply_to(message, "Howdy, how are you doing?") @bot.message_handler(func=lambda m: True) def echo_all(message): bot.reply_to(message, message.text) bot.polling()
  6. pyTelegramBotAPI https://github.com/eternnoir/pyTelegramBotAPI • Implementa todos os recursos da API 2.0

    • Ainda não implementou a API 2.1 – Essa API foi lançada em 22 de maio!
  7. Extra: Inline Bots • Um tipo de bot que intermedia

    a mensagem • Exemplos: @bold, @gif, @vid, @sticker @bot.inline_handler(func=lambda q: q.query != "") def query_text(inline_query): pass
  8. Mais informações • Telegram: https://telegram.me • API dos bots: https://core.telegram.org/bots/api

    • Implementação da API em Python: https://github.com/eternnoir/pyTelegramBotAPI