decimo3 / TelegramBotForFieldTeamHelper

0 stars 0 forks source link

BOT de escritório do MestreRuan

BOT para atendimento automatizado de equipes de campo. Ele extraí as informações do sistema SAP, e envia para a equipe em segundos.

O bot tem proteção contra uso indevido com uso autorizações. Todas as solicitações enviadas para ele serão rejeitadas até que o chat seja liberado pelo administrador, que deve ter seu identificador definido na propriedade id_adm_bot do token BOT_LICENCE.

Necessário ter um BOT do Telegram. Ele deve ser criado no próprio Telegram através do BotFather;

Gerando um token JWT com as propriedades

O token JWT, é armazenado na variável de ambiente BOT_LICENCE, usado para agrupar as mudanças no comportamento do chatbot e proteger contra uso não autorizado.

A sua estrutura está descrita no arquivo jwt_scheme.json, e ele pode ser montado no site JWT.io.

As propriedades são:

É necessário definir uma senha para o token, pois a mesma é validada.

Configurando o ambiente de execução:

Necessário definir as variáveis de ambiente BOT_TOKEN e BOT_LICENCE com os comandos abaixo:

set BOT_TOKEN=seu_token_do_telegram_bot_aqui
set BOT_LICENCE=seu_token_JWT_com_as_definições

Configurando o ambiente de desenvolvimento:

É necessário o DotNet SDK 6.0

Defina as variáveis de ambiente:

set BOT_TOKEN=seu_token_do_telegram_bot_aqui
set BOT_LICENCE=seu_token_JWT_com_as_definições
set DOTNET_ENVIRONMENT=Development

Ou:

  1. Crie um arquivo .env ou renomeie o arquivo .env.dev para .env e insira o tokem do BOT do Telegram fornecido pelo BotFather.

O formato do arquivo .env abaixo:

BOT_TOKEN=seu_token_do_telegram_bot_aqui
BOT_LICENCE=seu_token_JWT_com_as_definições

O que muda do ambiente de desenvolvimento para o de execução?

  1. O programa irá utilizar a segunda sessão (sessão 1) do SAP FrontEnd, para não atrapalhar as atividades do operador na primeira sessão;
  2. O programa irá remover limites impostos em ambiente de execução;
  3. O programa irá utilizar as variáveis de ambiente definidas no arquivo .env se ele existir.

Build

BOT foi programado para interagir com o programa de automação do SAP FrontEnd SapAutomationForCoreBaixada, portanto esse BOT depende dele. As instruções de build e instalação estão lá, as instruções abaixo são específicas desse projeto.

Para construir esse projeto separadamente, utilize o comando abaixo (necessário DotNet Runtime para executar):

dotnet publish -c Release

Ou para construir uma aplicação, que possa ser executada sem a necessidade do DotNet Runtime, utilize o comando abaixo:

dotnet publish --runtime win-x64 -p:PublishSingleFile=true --self-contained true