Gê no Telegram (clone da Vegga / MateBot)
|
%!s(int64=5) %!d(string=hai) anos | |
---|---|---|
config | %!s(int64=5) %!d(string=hai) anos | |
matebot | %!s(int64=5) %!d(string=hai) anos | |
plugins | %!s(int64=5) %!d(string=hai) anos | |
.gitignore | %!s(int64=5) %!d(string=hai) anos | |
CHANGES.txt | %!s(int64=5) %!d(string=hai) anos | |
LICENSE.md | %!s(int64=7) %!d(string=hai) anos | |
MANIFEST.in | %!s(int64=7) %!d(string=hai) anos | |
Pipfile | %!s(int64=5) %!d(string=hai) anos | |
README.md | %!s(int64=5) %!d(string=hai) anos | |
requirements.txt | %!s(int64=5) %!d(string=hai) anos | |
start.py | %!s(int64=5) %!d(string=hai) anos |
Este é um bot de Telegram baseado em plugins escrito em Python.
MateBot foi feito para o hackerspace Matehackers.
Vegga foi feita para o Velivery.
Matebot por sua vez é clonado de CryptoForexBot.
Todos estes bots são inspirados na Paloma, originalmente um bot de IRC inspirado na lalenia, que é um supybot. Viva o software livre.
Chame o bot em @mate_obot para ver a lista de comandos.
Quem tiver qualquer dúvida pode entrar no grupo do Matehackers no Telegram. Todo mundo lá também tem dúvidas, tu vai te sentir em casa.
Atualmente o bot tem os seguintes comandos:
Exibe os atuais comandos do bot. Atualmente quase todos exigem autenticação automática através do controle de acesso por id de usuário do telegram.
Exemplo: /ajuda
Envia mensagem para os desenvolvedores do bot.
Exemplo: /feedback Esse bot não funciona!
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 vossa excelência quiserdes usar o código deste bot pra fazer o vosso próprio, vós deveis:
Para mais informações, veja o arquivo LICENSE.md.
...e incidentalmente, Github ou Notabug - que são coisas completamente diferentes 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.5
Se vós não tiverdes Python, instale!
Estamos usando Telepot, então é necessário instalá-lo para rodar o bot.
Tentai 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, instalai pip.
Debian:
apt-get install libicu-dev
OSX:
brew install icu4c
No diretório config:
Renomeardes o arquivo matebot.cfg.example
para .matebot.cfg
. Sem este arquivo, o bot não vai funcionar.
Editai o arquivo, alterando o valor de token
na seção [botfather]
para o valor obtido através do @BotFather.
Alterai os demais campos de configuração de acordo com a necessidade.
No diretório principal do matebot:
Se for UNIX, rodeis com ./start.py
Em qualquer plataforma, deveria funcionar com python3 start.py
Para parar, enviai um sinal KeyboardInterrupt (no Linux, CTRL+C).
Enviai uma mensagem para o bot e prestais atenção no console para descobrir qual é o vosso id do telegram.
Deveria aparecer algo parecido com isto:
[2018-08-24 11:36:49.201162] [INFO] O nosso token do @BotFather é '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11', os ids de usuária(o)s administradora(e)s são '[123456789]' e os ids dos grupos administradores são '[-987654321]'. O nome de usuário da(o) administrador(a) é '@desobedientecivil'.
Onde 123456789
é o vosso id do telegram. Colocai este número no arquivo de configuração, na seção [admin]
, item id
. O arquivo é config/.matebot.cfg
conforme explicado acima, verde 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 -987654321
. 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.
pipenv install
pipenv run python start.py telepot matebot
ExecStart=/home/user/.local/bin/pipenv run python start.py telepot matebot
WorkingDirectory=/home/user/tg-matebot/
Copyleft 2016-2019 Desobediente Civil, 2017-2019 Matehackers, 2018-2019 Velivery, 2019 Greatful
Este programa é um software livre; você pode redistribuí-lo e/ou
modificá-lo sob os termos da Licença Pública Geral GNU como publicada
pela Free Software Foundation; na versão 3 da Licença, ou
(a seu critério) qualquer versão posterior.
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/.