Bot para cobrar as pessoas no telegram
Recebe dados do notion para mandar as mensagens no telegram com as informações da tarefa a ser cobrada e marca as pessoas responsáveis pela tarefa
Toda vez que você rodar o código a capivara-agiota vai pegar as tarefas do dia do seu notion e vai mandar uma mensagem no grupo do telegram cobrando os responsáveis.
- tabela no notion: podemos ver que temos uma tarefa para hoje e a stefany é a responsável
- Depois de rodar o programa a capivara-agiota vai mandar uma mensagem no grupo dessa forma:
-
Crie um bot no telegram (tutorial aqui)
-
Copie o token de acesso do seu bot
-
Substitua
telegram_token
em config.py pelo token que você acabou de copiar:notion_token = "YOUR_NOTION_TOKEN" telegram_token = "YOUR_TELEGRAM_TOKEN" chat_id = "TELEGRAM_CHAT_ID"
-
Crie um grupo no telegram e adicione o bot nele, de permissões de adm para o bot
-
Entre no link
https://api.telegram.org/bot<YourBOTToken>/getUpdates
. Não se esqueça de trocarYourBOTToken
pelo token do seu bot -
Procure por chat_id. Copie ele
-
Substitua
chat_id
em config.py pelo chat_id que você acabou de copiar
- Crie um notion: https://www.notion.so
- não se esqueça de selecionar o teste gratuito do plano de time
- Crie uma página
- Adicione um database (tutorial aqui):
- Adicione as pessoas no seu workspace
- na barra lateral esquerda do notion, clique em Settings & Members
- clique em Membres
- copie o link de convite e envie para os membros de seu time (ou adicione o email deles direto):
- Agora, você consegue adicionar as pessoas na coluna de Responsáveis no seu database:
- CLique em Settings & Members
- Clique em Integration
- Clique em Develop your own Integrations
- Clique em New Integration
- Dê um nome para ela e clique em Submit
- Copie o token de acesso
- Volte para o seu database no notion. No canto superior direito clique em Share
- Clique em Invite
- Adicione sua integração que você acabou de criar
- Agora você pode substituir o
token_notion
no config.py pelo token do notion que você copiou
- na página de seu database selecione o id do seu database. Ele fica na url dessa forma:
https://www.notion.so/<long_hash_1>?v=<long_hash_2>
<long_hash_1> é o id do database. Copi ele
- Em bot.py, substitua:
database_tarefas_id
pelo id do database que você acaboou de copiarnome_coluna_tarefa
pelo nome da coluna no seu database com o nome que descreve sua tarefanome_coluna_prazo
pelo nome da coluna no seu database com o prazo da tarefa (lembre de colocar o tipo da coluna como o de data mesmo, se for somente texto, o bot quebra)nome_coluna_responsaveis
pelo nome da coluna no seu database com os responsáveis pela tarefa (preferencialmente do tipo pessoa, não testei com outros tipos pra saber se funciona)
# ids dos databbases usados
database_tarefas_id = "TAREFAS_DATABASE_ID"
database_grupos_id = "GRUPO_DATABASE_ID" # caso vc use uma tabela separada com grupos de pessoas responsáveis
# nome das colunas do seu ddatabase
nome_coluna_tarefa = "Tarefa"
nome_coluna_prazo = "Data"
nome_coluna_responsaveis = "Responsáveis"
- Ignore o
database_grupos_id
por enquanto
- Vá em config.py e coloque o nome dos membros no notion e seus respectivos usuários no telegram.
membros = {
"nome da pessoa no notion": "@ do telegram da pessoa ",
"Fulano da Silva": "@fulano", # exemplo
"": "" # não retire essa linha, se vc tirar ela, quando uma tarefa não tiver ninguem como responsavel o bot vai quebrar
}
Agora, você precisa rodar seu programa uma vez por dia para que a capivara-agiota envie as mensagens no telegram cobrando as pessoas. Para isso, eu usei uma máquina EC2 na aws no teste grátis e usei um crontab para rodar o programa todo dia às 12h30. Passo a passo disso em breve