Gê no Telegram (clone da Vegga / MateBot)
|
|
před 7 roky | |
|---|---|---|
| config | před 7 roky | |
| matebot | před 7 roky | |
| plugins | před 7 roky | |
| .gitignore | před 8 roky | |
| CHANGES.txt | před 7 roky | |
| LICENSE.md | před 8 roky | |
| MANIFEST.in | před 8 roky | |
| README.md | před 7 roky | |
| requirements.txt | před 7 roky | |
| start.py | před 7 roky |
Este é um bot de Telegram escrito em Python para o Velivery.
Clonado do bot original para o hackerspace Matehackers funcionando em @Mate_obot.
Este bot pode ser extendido com o uso de plugins, inspirado no supybot.
Este bot serve para automatizar determinadas áreas no trabalho do Velivery. Somente funcionária(o)s autorizada(o)s têm ou deveriam ter acesso.
Atualmente o bot tem os seguintes comandos:
Não faz nada.
Exemplo: /start
Não faz nada.
Exemplo: /help
Envia mensagem para os desenvolvedores do bot.
Exemplo: /feedback Esse bot não funciona!
Calcula o hash de um texto. O texto pode ser qualquer coisa, observado o limite de tamanho de mensagem do telegram.
Exemplo: /hash Mensagem secreta
Cria uma imagem png com um QR code representando o texto que foi enviado. O texto pode ser qualquer coisa.
Exemplo: /qr https://matehackers.org
Se você quiser usar o código deste bot pra fazer o seu próprio, você deve:
Para mais informações, veja o arquivo LICENSE.md.
...e incidentalmente, Github - que é outra coisa completamente diferente de git.
Para mexer no código agora mesmo no Linux:
$ git clone -b stable https://github.com/matehackers/tg-matebot.git
$ cd tg-matebot
Este bot foi testado com Python 3.4
Se você não tiver Python, instale!
Estamos usando Telepot, então é necessário instalá-lo para rodar o bot.
Tente pip3 install --user telepot ou python3 -m pip install --user telepot. Ou melhor, pip3 install -r requirements.txt para instalar todas as dependências dos plugins. Se este comando não funcionar, instale pip.
No diretório config:
Renomeie o arquivo matebot.cfg.example para .matebot.cfg. Sem este arquivo, o bot não vai funcionar.
Edite o arquivo, alterando o valor de token na seção [botfather] para o valor obtido através do @BotFather.
Altere os demais campos de configuração de acordo com a necessidade.
No diretório principal do matebot:
Se for UNIX, rode com ./start.py
Em qualquer plataforma, deveria funcionar com python3 start.py
Para parar, envie um sinal KeyboardInterrupt (no Linux, CTRL+C).
Envie uma mensagem para o bot e preste atenção no console para descobrir qual é o seu id do telegram.
Deveria aparecer algo parecido com isto:
[2017-05-09 13:37:26.113188] RCV: Received "hi" from 123456789
Onde 123456789 é o seu telegram id. Coloque este número no arquivo de configuração, na seção [admin], item id. O arquivo é config/.matebot.cfg conforme explicado acima, veja Configurando.
Isto possibilita usar comandos especificamente para administração do bot.
Além disto, é possível configurar um id de grupo de administração, que é parecido com -123456789. Este grupo é para onde o bot envia informações de depuração (debug) e onde o comando /feedback envia feedback.
Exemplo de arquivo para usar com systemd:
[Unit]
Description=tg-matebot daemon
After=network.target nss-lookup.target
[Service]
Type=simple
ExecStart=/usr/bin/python3 /home/user/tg-matebot/start.py
WorkingDirectory=/home/user/tg-matebot/
Restart=on-failure
[Install]
WantedBy=multi-user.target
Em um sistema Debian, este arquivo deveria estar em /lib/systemd/system/tg-matebot.service, ou ${HOME}/.config/systemd/user/tg-matebot.service.
Habilitando o serviço na inicialização do sistema e iniciando agora:
# systemctl daemon-reload
# systemctl enable tg-matebot.service
# systemctl -l start tg-matebot.service
Para ver se está funcionando:
# systemctl -l status tg-matebot.service
Parar:
# systemctl stop tg-matebot.service
Reiniciar:
# systemctl -l restart tg-matebot.service
Para o caso de usar systemd como usuário, o arquivo de configuração deve estar em ${HOME}/.config/systemd/user/tg-matebot.service, e os comandos devem ser precedidos de --user, como por exemplo:
# systemctl --user -l restart tg-matebot.service
Também é possível usar cron para verificar se o bot está no ar periodicamente:
# crontab -e
Adicione uma linha como por exemplo esta na crontab:
*/10 * * * * /usr/lib/systemctl --user is-active tg-matebot.service || /usr/lib/systemctl --user start tg-matebot.service
Isto vai verificar se o bot está no ar a cada 10 minutos, e iniciar o serviço caso esteja fora do ar.
Copyleft 2016-2018 Desobediente Civil, 2017-2018 Matehackers, 2018 Velivery
Este programa é distribuído na esperança de que possa ser útil,
mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO
a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a
Licença Pública Geral GNU para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU junto
com este programa (veja o arquivo LICENSE.md).
Se não, veja http://www.gnu.org/licenses/.
Este bot aproveita o trabalho feito no tg-cryptoforexbot e é laboratório para melhorar o código de outro bot, a Paloma. Assim como este código é reaproveitado em outro bot, o VeliveryBot, que por sua vez contribui com código e melhorias para este. Viva o software livre.