Skip to content

Latest commit

 

History

History
110 lines (86 loc) · 3.43 KB

File metadata and controls

110 lines (86 loc) · 3.43 KB

🤖 Slack Bot Humanizado - Guia Completo (Deno)

Este projeto é um bot para Slack desenvolvido em Deno/TypeScript com comportamento humanizado (tempos de resposta variáveis, mensagens personalizadas e integração com GitHub).

✨ Funcionalidades

  • 🗨️ Respostas Humanizadas: Tempos de resposta dinâmicos baseados no tamanho da mensagem
  • 🌍 Suporte Multi-idioma: Inglês, Português, Espanhol e Francês
  • 😄 Variações de Tom: Mensagens engraçadas, formais e curtas
  • 🔗 Integração GitHub: Crie issues diretamente do Slack
  • ⏱️ Timeout Inteligente: Resposta de "pensando..." após 30 segundos

🚀 Instalação

Pré-requisitos

  • Deno instalado
  • Conta no Slack
  • Token do GitHub (para integração)

Passos

  1. Clone o repositório:

    git clone https://github.com/slack-samples/deno-github-functions.git
    cd deno-github-functions
  2. Configure as variáveis de ambiente (.env):

    SLACK_BOT_TOKEN=xoxb-your-token
    SLACK_SIGNING_SECRET=your-signing-secret
    GITHUB_TOKEN=ghp-your-token
    GITHUB_REPO_OWNER=seu-usuario
    GITHUB_REPO_NAME=seu-repositorio
    
  3. Instale as dependências:

    deno task start
  4. Execute o bot:

    slack run

📋 Comandos Disponíveis

Comando Descrição Exemplo
/hello @usuario Saudação rápida (0.5-2s) /hello @john
/hello @usuario --lang=en Saudação em inglês /hello @john --lang=en
/hello @usuario --msg="Oi!" Mensagem personalizada /hello @john --msg="E aí!"
/github-issue "Título" "Descrição" Criar issue no GitHub /github-issue "Bug" "Não funciona"

⏱️ Tempos de Resposta

Tipo de Mensagem Tempo Exemplo
Curta (≤ 20 chars) 0.5-2 segundos "Oi!"
Média (21-50 chars) 2-5 segundos "Olá! Como posso ajudar?"
Longa (> 50 chars) 5-10 segundos "Gostaria de saber como configurar..."
Timeout 30 segundos "Desculpe, precisei pensar um pouco..."

🧪 Testes

Execute os testes com:

deno test tests/test_hello.ts --allow-read

📁 Estrutura do Projeto

deno-github-functions/
├── functions/
│   ├── hello.ts          # Função de saudação humanizada
│   └── github_issue.ts   # Função de criação de issues
├── triggers/
│   ├── hello_trigger.ts
│   └── github_issue_trigger.ts
├── workflows/
│   ├── hello_workflow.ts
│   └── github_issue_workflow.ts
├── tests/
│   └── test_hello.ts     # Testes unitários
└── manifest.ts           # Configuração do Slack

🔧 Logs e Debug

Os logs são exibidos no console com timestamps:

[INFO] 2024-01-15T10:30:00.000Z - Iniciando processamento para usuário: U123456
[DEBUG] 2024-01-15T10:30:00.005Z - Texto recebido: "Oi" (2 caracteres)
[INFO] 2024-01-15T10:30:00.010Z - Tempo de resposta calculado: 1200ms
[INFO] 2024-01-15T10:30:01.215Z - Resposta enviada em 1215ms

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch (git checkout -b feature/nova-funcionalidade)
  3. Commit suas mudanças (git commit -am 'Adiciona nova funcionalidade')
  4. Push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

📄 Licença

MIT License - veja LICENSE para detalhes.