O GDG Aracaju Bot, ou gdgajubot é um bot de Telegram com a função
principal de informar eventos no Meetup, além de outras.
O bot atende aos seguintes comandos:
/start: Mensagem de apresentação do bot./help: Mensagem de ajuda do bot./links: Envia uma lista de links do grupo associado./dump_states: (admin)./about: Exibe informações sobre o bot./events: listagem dos próximos eventos registrados no meetup./book: livro gratuito do dia da editora Packt Publishing./udemy: lista de cursos com cupons limitados de 100% de desconto do site Udemy./list_users: (admin) Lista todos os usuários.
As seguintes funções estão disponíveis em beta:
/auto_events: notifica automaticamente o usuário quando houver novos eventos./auto_book: notifica automaticamente o usuário quando houver um novo livro gratuito.
Há também alguns recursos escondidos: olhem os fontes!
A instalação é simples, basta baixar o projeto, descompactar e executar:
$ python setup.py install
Ou, se estiver usando pip, basta executar diretamente:
$ pip install git+https://github.com/GDGAracaju/GDGAjuBot.git
Em qualquer um dos métodos, o script gdgajubot será instalado. Verifique se ele está disponível
chamando pela linha de comando:
$ gdgajubot --help
O gdgajubot precisa no mínimo do Python 3.6.
No momento da instalação, as dependências mínimas listadas no arquivo setup.py serão baixadas
automaticamente. Para desenvolver o gdgajubot, recomendamos a instalação das dependências listadas
no arquivo Pipfile via:
$ pipenv install
Para isso, é necessário ter o pipenv instalado.
Antes de começar, é necessário um token do Telegram obtido com o @BotFather, que vincula ao seu bot, e o id do cliente, segredo do cliente e refresh token obtidos ao seguir o passo 1 e 2 descrito em, para ter permissões de acesso à API do Meetup.
Para o bot ser iniciado, execute
$ gdgajubot -t 'TELEGRAM_TOKEN' -mcid 'MEETUP_CLIENT_ID' -mcs 'MEETUP_CLIENT_SECRET' -mrt 'MEETUP_REFRESH_TOKEN' -g 'GROUP_NAME'
onde TELEGRAM_TOKEN é o token do seu bot, MEETUP_CLIENT_ID o id do cliente do Meetup, MEETUP_CLIENT_SECRET o segredo do cliente do Meetup, MEETUP_REFRESH_TOKEN o refresh token do Meetup e GROUP_NAME o nome do
grupo do Meetup onde o bot irá buscar os eventos.
No Windows, use:
$ python scripts\gdgajubot
O bot também pode ser executado definindo variáveis de ambiente
$ export TELEGRAM_TOKEN='token do bot'
$ export MEETUP_CLIENT_ID='id do cliente do meetup'
$ export MEETUP_CLIENT_SECRET='segredo do cliente do meetup'
$ export MEETUP_REFRESH_TOKEN='refresh token do meetup'
$ export GROUP_NAME='grupo do meetup'
$ gdgajubot
Usando as variáveis de ambiente, é possível pôr as credenciais em um arquivo separado e importar para o shell antes de executar:
$ . credenciais_bot
$ gdgajubot -g 'GROUP_NAME'
Existe um parâmetro opcional que permite encurtar as URLs fornecidas pelo bot: --url_shortener_key (ou variável de ambiente URL_SHORTENER_KEY). Para obter essa chave, visite a documentação.
O gdgajubot é desenvolvido com testes automatizados, porém usando dados estáticos. Para verificar
se o seu bot está funcionando de verdade, inicie uma conversa com ele com um cliente Telegram.
Escreva /events,/book ou /udemy e veja se ele responde.