No description
Find a file
2026-05-30 09:14:14 -03:00
conf adiconando env de exemplo 2026-05-27 09:19:53 -03:00
bot.py fix: ajuda alias para help 2026-05-30 09:14:14 -03:00
caldav_handler.py primeiro commit, já funciona! 2026-05-27 09:18:13 -03:00
README.md primeiro commit, já funciona! 2026-05-27 09:18:13 -03:00
requirements.py primeiro commit, já funciona! 2026-05-27 09:18:13 -03:00
run.py primeiro commit, já funciona! 2026-05-27 09:18:13 -03:00
settings.py primeiro commit, já funciona! 2026-05-27 09:18:13 -03:00

🤖 CalDAV XMPP Bot

Um bot para XMPP (Jabber) que se integra com servidores CalDAV para enviar lembretes de eventos e agenda diretamente no seu chat.

Funcionalidades

  • 🔄 Sincronização com CalDAV - Busca eventos de calendários NextCloud, Baikal, Radicale, etc.
  • 🔔 Lembretes automáticos - Envia notificações baseadas nos alarmes configurados
  • 💬 Comandos interativos - Controle o bot via comandos no chat
  • 🏠 Suporte a salas MUC - Funciona em conversas privadas e salas em grupo
  • 📅 Agenda formatada - Visualização amigável dos próximos eventos
  • Fuso horário configurável - Adapta os horários ao seu timezone

📋 Comandos

Comando Descrição
!agenda Mostra os próximos eventos
!events Mesmo que !agenda
!help Exibe mensagem de ajuda
!ping Verifica se o bot está online
!about Informações sobre o bot

🚀 Instalação

1. Clone o repositório

git clone https://seu-repositorio/caldav-xmpp-bot.git
cd caldav-xmpp-bot


### 2. Crie um ambiente virtual e instale as dependências
```bash

python -m venv venv
source venv/bin/activate

pip install -r requirements.txt

3. Configure o arquivo .env

Crie um arquivo .env baseado no exemplo:

cp conf/env-example .env

Edite o arquivo com suas configurações: env

XMPP Configuration

XMPP_JID=seu_bot@xmpp.server.com XMPP_PASSWORD=sua_senha XMPP_ROOM=sala@conference.xmpp.server.com # Opcional XMPP_NICK=CalendarBot

CalDAV Configuration

CALDAV_URL=https://seu.caldav.server.com CALDAV_USERNAME=seu_usuario CALDAV_PASSWORD=sua_senha CALENDAR_IDS=id1,id2 # IDs dos calendários

Bot Configuration

FETCH_EVENT_WINDOW_IN_DAYS=30 CHECK_INTERVAL_MINUTES=15 TIMEZONE=America/Sao_Paulo

4. Execute o bot


python run.py