2020-08-04.md 5.4 KB


title: "Terça sem fim - Escrevendo do zero bot de telegram com Python, Flask, PTB e Geany"

date: 2020-08-04T13:41:20-03:00

Terça sem fim 2020-08-04

Começando às 15:00 em https://youtube.com/c/Exmachinae/live

Salvo no youtube: https://www.youtube.com/watch?v=HqoVkgBr8kk

Documentando tudo no blog em http://ftkbuej5ggf45o5n37evqj6qhxjobrz7lyqvdz22z3me6yyuepmhgcad.onion/

Trilha sonora no fundo Rádio Balaio no Spotify: <​https://open.spotify.com/playlist/1dq6T4z992nMbar0ab1o6R?si=Iu4ulA8ZSuKLOl-w2LAiug>

Objetivos de hoje:

[X] - Criar issues no repositório do github do @mate_obot
[X] - Encontrar todos os repositórios das irmãs e irmãos do MateBot
[X] - Instalar e configurar Python e Geany no Windows 10
[ ] - Refazer um código funcional do MateBot usando Flask e PTB
[ ] - Migrar todos plugins do MateBot, suas irmãs e seus irmãos para a nova base de código
[ ] - Configurar uma VPS Linux com Python / Pipenv, Git e Systemd pra manter os bots no ar
[ ] - Diversificar os bots no Telegram
[X] - Documentar o processo audiovisualmente e textualmente
[X] - Terminar antes de doze horas

Objetivos pra semana que vem:

  1. Encontrar todos códigos que eu escrevi usando NLTK e consolidar em plugins;
  2. Introduzir bots em grupos para coletar dados para PLN;
  3. Testar ferramentas para chatbots diferentes;

Bibliografia (linkania):

Chatbot

PLN


Criando issues no respositório do Github

Começando às 15:20

https://github.com/matehackers/tg-matebot/issues

Terminado às 17:30. Alguns usuários mandaram ideias pelo chat do youtube, e a maioria das issues foi obtida pesquisando #feedback nos grupos de desenvolvimento do matebot no telegram.


Encontrar todos os repositórios das irmãs e irmãos do MateBot

Começando às 17:40 e encerrei às 18:00

Documentado na wiki do matebot, disponível em https://github.com/matehackers/tg-matebot/wiki/Forks.


Instalar e configurar Python e Geany no Windows 10

Começando às 18:00

Python para Windows (ou qualquer outra plataforma) pode ser obtido em https://python.org.

Geany para Windows pode ser obtido no site, mas eu usei o Portable Apps e instalei o Geany Portable.


Refazer um código funcional do MateBot usando Flask e PTB

Começando às 19:10

Pipenv e Flask

Preparar o ambiente com pipenv (no meu caso no windows):

$ python -m pip install --user --upgrade pip
$ python -m pip install --user --upgrade pipenv

Conteúdo do arquivo Pipfile:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[packages]
Flask = "*"
python-dotenv = "*"
python-telegram-bot = "*"
requests = "*"

[requires]
python_version = "3"

Iniciar o ambiente com Pipenv:

$ pipenv install

Criando o arquivo de configuração para o Flask (config.py):

Manual

Eu crio o arquivo default_config.py para servir como exemplo, porque o arquivo instance/config.py que vai ser usado de fato não fica no repositório, pois é incluído em .gitignore.

Eu crio também o arquivo default_env para ser posteriormente renomeado para .env

Feito isto, e uma configuração básica escrita, é hora de testar o Flask:

$ pipenv run flask run

O commit aonde isto foi feito é ff552e8b96732673841b28da53eb48dd7f65cb4b

Encerrei às 21:20 para uma pausa e retomei às 21:55. Fiz alguns ajustes até às 22:15

Python-telegram-bot

Comecei a ler o manual às 22:15

Criei algumas rotas (views) com Flask pra testar o funcionamentos dos métodos básicos do python-telegram-bot. O commit onde estão estas alterações é o e485243120ec751e904095c8ad27cf61b8686fea.

Encerrarei a atividade por hoje e continuarei outro dia. Encerrando a transmissão às 1:30 de quarta feira. A Terça Sem Fim não terminou.

Lista de leitura:


Documentar o processo audiovisualmente e textualmente

Este blog segue no ar via Tor (quando o computador do Tor estiver ligado) em http://ftkbuej5ggf45o5n37evqj6qhxjobrz7lyqvdz22z3me6yyuepmhgcad.onion/

A última vez que foi salvo na IPFS era acessível pelo CID bafybeicblmub2ckki33uz7zyrdaerl4jdhmim4znhjhw3tofchw3eookiy

O vídeo ficou salvo no youtube através da URL https://www.youtube.com/watch?v=HqoVkgBr8kk. Em breve disponível via IPFS também.