
Durante a execução do pedido de desenvolvimento do bot de telegrama, tive a necessidade de obter uma captura de tela da página da Web com a entrega ao usuário. Por que pensar em uma solução para um problema quando você pode encontrá-lo? Como se viu, para não pagar! Mais suor katom.
Então, o destino me levou ao serviço url2png . Tudo parece ser legal: você se registra, obtém um token de API e faz solicitações. Mas não importa como.

Não, bem, sério, o VDS para vários bots de telegrama é mais barato! E então ficou claro para mim que eu tinha que sair de todas as formas disponíveis. Não tive que mexer no cérebro por muito tempo, pois existia o Selenium . O Selenium requer a instalação de um driver especial de acordo com o navegador usado. Eu aviso que o PhantomJS não é mais suportado pelo Selenium, portanto o google chrome será usado para funcionar no modo sem cabeça (quando o webdriver for inicializado). Como configurar para este VDS? Primeiramente, você precisa instalar o próprio navegador. No console, insira os seguintes comandos.
sudo apt update sudo apt install -y chromium-browser
Após esse link, você precisa descobrir a versão mais recente do chromedriver (2.41 no momento). Você precisa instalá-lo com os seguintes comandos.
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip sudo mv chromedriver /usr/bin/chromedriver sudo chown root:root /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
Também gostaria de observar que, para depurar os telegramas de bot, você precisará instalar uma VPN em sua máquina, se estiver na Rússia. Agora você pode começar a desenvolver o bot. Você precisará das bibliotecas:
pytelegrambotapi selenium validators
Você pode instalá-los silenciosamente usando pip. O início do script é assim.
Primeiro, criei um bot e configurei o navegador para funcionar no modo sem cabeça.
Então ele lançou uma saudação e ajuda ao usuário.
A coisa mais importante que resta é obter uma captura de tela. A biblioteca de validadores valida (desculpe a tautologia) do link inserido pelo usuário. Além disso, usando o módulo OS, a captura de tela é excluída do servidor após o envio, para não ocupar espaço.
Lançamos o bot e verificamos seu funcionamento!

Como você pode ver, tudo funciona muito bem. É claro que todos os tipos de bolos podem ser modificados, mas eu me propus a meta de construir a fundação e a alcancei. Na verdade, um link para o bot para pessoas interessadas e para o repositório do github para os interessados. Enquanto isso, tudo de bom, vejo você nas seguintes publicações!