Tupão
é um Telegram bot
criado para fornecer assistência aos membros da extracurricular em
um cenário presencial, onde se faz necessário realizar atualizações em planilhas e serviços do Google
, mesmo
sem possuir acesso direto a um computador.
O objetivo principal do Tupão
é fornecer assistência durante o período de manufatura da equipe EESC USP Tupã
.
Para tal, o bot
possui as seguintes funcionalidades básicas:
help
: Comando de ajuda, que fornece informação acerca de todos os comandos cadastradosadd
: Permite que sejam cadastradas novas tarefas na planilha de mapeamento da equipestart/end
: Permite que seja atualizado o status de atividades cadastradas na planilha de mapemanto da equipelist
: Lista todas as atividades cadastradas na planilha de mapeamentos da equipeExtras
: Comandos de resposta simples registrados em uma planilha de comandos noGoogle Sheets
A configuração do bot
é realizada através de um arquivo de variáveis de ambiente .env
.
A formatação deste arquivo deve ser como apresentado abaixo:
TELEGRAM_BOT_TOKEN =
COMMANDS_SHEET_ID =
ELE_SHEET_ID =
MEC_SHEET_ID =
...
TELEGRAM_BOT_TOKEN
é o referente aotoken
para o bot, obtido através doBotFather
.COMMANDS_SHEET_ID
é o ID da planilha de comandos do botELE_SHEET_ID
é o ID da planilha de mapeamento de tarefas do sistema da elétrica, e assim por diante para os demais sistemas.
Além disso, para que o bot possua permissão para manipular os arquivos do Google
, é necessário
criar um usuáio no DriveAPI
e baixar as configuraçãoes de client_secret
, fornecidas em formato json.
As informações devem seguir o seguinte formato:
{
"type":
"project_id":
"private_key_id":
"private_key":
"client_email":
"client_id":
"auth_uri":
"token_uri":
"auth_provider_x509_cert_url":
"client_x509_cert_url":
}
As informações em questão podem ser fornecidas em um arquivo nomeado google_client.json
ou podem ser fornecidas no próprio arquivo .env
. A nomenclatura das variáveis neste segundo caso deve ser:
GOOGLE_CREDS_TYPE =
GOOGLE_CREDS_PROJECT_ID =
GOOGLE_CREDS_PRIVATE_KEY_ID =
GOOGLE_CREDS_PRIVATE_KEY =
GOOGLE_CREDS_EMAIL =
GOOGLE_CREDS_CLIENT_ID =
GOOGLE_CREDS_AUTH_URI =
GOOGLE_CREDS_TOKEN_URI =
GOOGLE_CREDS_AUTH_PROVIDER =
GOOGLE_CREDS_CLIENT =
Para membros da equipe, a configuração utilizada atualmente pode ser encontrada neste link.
O bot
foi construído utilizando Python 3.9.7
e conta com as dependências listadas no arquivo
requirements.txt
. Para instalá-las, basta executar o comando abaixo.
$ pip install -r requirements.txt
Após configuradas as variáveis de ambiente, o bot pode ser executado através do arquivo main
.
Basta utilizar o comando $ python3 main.py
.
O bot é hospedado nos serviços do Heroku
de modo a ficar online 24h.