Skip to content

GDGAracaju/GDGAjuBot

This branch is 436 commits ahead of, 46 commits behind arquimago/LoLWikiBot:master.

Folders and files

NameName
Last commit message
Last commit date
May 19, 2021
Sep 12, 2019
Dec 26, 2021
Apr 30, 2019
Dec 27, 2021
Dec 21, 2021
Apr 30, 2019
Mar 25, 2018
Aug 3, 2016
Dec 7, 2021
Dec 4, 2021
Dec 27, 2021
Dec 27, 2021

Repository files navigation

GDG Aracaju Bot

Build Status

Deploy

O GDG Aracaju Bot, ou gdgajubot é um bot de Telegram com a função principal de informar eventos no Meetup, além de outras.

Funcionalidades

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!

Instalação

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

Dependências

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.

Modo de uso

Pré-requisitos

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.

Iniciar o bot

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.

Testando

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.

Packages

No packages published

Languages

  • Python 100.0%