MÓDULO 2.2

💬 Canais de Comunicação

Telegram, WhatsApp, Discord, Slack, E-mail IMAP e voz. Aprenda o contrato BaseChannel e implemente qualquer canal em minutos.

6
Tópicos
60
Minutos
Básico
Nível
Prático
Tipo
1

📱 Telegram — O Canal Principal

Telegram é a escolha default por bons motivos: API estável, gratuita, suporte a arquivos, botões inline, grupos e canais. 95% dos casos de uso de assistente pessoal funcionam perfeitamente no Telegram.

📡 Polling vs Webhook

Polling (Recomendado para dev)

Bot pergunta ao Telegram periodicamente: "tem mensagens novas?". Simples, sem infraestrutura. Latência de 1-2 segundos.

Webhook (Para produção)

Telegram envia mensagens diretamente para sua URL. Requer HTTPS público. Latência zero extra. Ideal para VPS.

💡 Segurança no Telegram

Configure TELEGRAM_ALLOWED_USERS com apenas os seus IDs. Qualquer pessoa pode enviar mensagem para um bot Telegram — sem whitelist, qualquer pessoa controla seu Jarvis.

2

🔗 BaseChannel — O Contrato Universal

O BaseChannel é a abstração que permite ao Agent ser agnóstico ao canal. Não importa se você usa Telegram ou Discord — o Agent só chama send() e a implementação cuida do resto.

🧩 Interface BaseChannel

class BaseChannel(ABC):

@abstractmethod
async def start(self) -> None:
"""Inicializa conexão e começa a ouvir mensagens"""

@abstractmethod
async def send(self, user_id: str, message: str) -> None:
"""Envia resposta ao usuário"""

@abstractmethod
async def stop(self) -> None:
"""Fecha conexão graciosamente"""
3

💚 WhatsApp via API Business

No Brasil, WhatsApp é insubstituível. A Meta Business API permite integração oficial — sem risco de ban, com suporte a mídia e templates aprovados.

📋 Fluxo de Integração WhatsApp

1

Criar conta Meta Business e aplicativo

2

Habilitar WhatsApp Business API e gerar token

3

Configurar webhook com verificação de token

4

Implementar WhatsAppChannel estendendo BaseChannel

4

💬 Discord e Slack

Para equipes, Discord e Slack são os canais naturais. Um Jarvis dentro do workspace da equipe elimina a necessidade de sair da plataforma para fazer perguntas ao assistente.

🎮 Discord

  • • discord.py com eventos on_message
  • • Slash commands para interação estruturada
  • • Thread por conversa para organização
  • • Reactions para aprovação/rejeição

💼 Slack

  • • Bolt SDK com OAuth 2.0
  • • Events API para escuta de mensagens
  • • Mention handler (@atlas)
  • • Block Kit para respostas ricas
5

📧 Canal de E-mail IMAP

E-mail é o canal com maior ROI para automação. Triagem, categorização e resposta automática de e-mails rotineiros economiza horas semanais sem exigir mudança de hábito — o Jarvis opera na sua caixa de entrada existente.

📬 Fluxo de E-mail

# Diagrama de fluxo
Caixa IMAP ──→ IMAP poll (30s) ──→ Novo e-mail?
Parse MIME + extrai texto
Agent.process(email)
┌───────┴───────┐
Auto-reply Draft para revisão
6

🎤 Palavra de Ativação por Voz

O canal de voz transforma o Jarvis em um assistente truly hands-free. Com Whisper para transcrição e uma word de ativação configurável, você fala naturalmente e o Jarvis responde em voz.

💡 Dica de Latência

Para resposta de voz em tempo real, use Whisper tiny (velocidade) para transcrição e um modelo TTS local para síntese. Latência total abaixo de 1 segundo é possível com hardware médio.

🎙 Pipeline de Voz

Microfone → VAD (detecta fala) → Buffer de áudio
→ Wake word check ("Atlas"?)
→ Whisper STT → texto transcrito
→ Agent.process(texto)
→ TTS (text-to-speech)
→ Speaker (resposta em voz)

Resumo do Módulo 2.2

Telegram — Canal padrão: gratuito, robusto, polling ou webhook
BaseChannel — Contrato de 3 métodos: start(), send(), stop()
WhatsApp — Meta Business API, webhook HTTPS, alto ROI no Brasil
Discord/Slack — Canais de equipe com slash commands e eventos
E-mail IMAP — Triagem e resposta automática, maior ROI em horas economizadas
Voz — Whisper STT + wake word + TTS para interação hands-free

Próximo Módulo:

2.3 — Memória e Conhecimento: SQLite FTS5, BM25, 2 camadas e compactação automática