Función de Appwrite para enviar mensajes a grupos de Telegram usando la API de Telegram Bot.
- Un bot de Telegram creado con @BotFather
- El token del bot (proporcionado por BotFather)
- El Chat ID del grupo donde quieres enviar mensajes
Debes configurar las siguientes variables de entorno en tu función de Appwrite:
| Variable | Descripción | Ejemplo |
|---|---|---|
TELEGRAM_BOT_TOKEN |
Token del bot de Telegram | 123456789:ABCdefGHIjklMNOpqrsTUVwxyz |
TELEGRAM_CHAT_ID |
ID del chat/grupo de Telegram | -1001234567890 |
- Añade tu bot al grupo de Telegram
- Envía un mensaje en el grupo
- Visita:
https://api.telegram.org/bot<TU_TOKEN>/getUpdates - Busca el campo
"chat":{"id":-1001234567890}en la respuesta
# POST con JSON
curl -X POST https://[TU_APPWRITE_ENDPOINT]/functions/[FUNCTION_ID]/executions \
-H "Content-Type: application/json" \
-d '{"message": "Hola desde Appwrite!"}'
# GET con query params
curl "https://[TU_APPWRITE_ENDPOINT]/functions/[FUNCTION_ID]/executions?message=Hola"const sdk = require("node-appwrite");
const client = new sdk.Client()
.setEndpoint("https://[TU_APPWRITE_ENDPOINT]")
.setProject("[TU_PROJECT_ID]")
.setKey("[TU_API_KEY]");
const functions = new sdk.Functions(client);
const execution = await functions.createExecution(
"[FUNCTION_ID]",
JSON.stringify({ message: "Hola desde código!" }),
);telegram_messages/
├── src/
│ └── main.js # Punto de entrada de Appwrite Function
├── telegramMessages.js # Lógica de envío a Telegram
├── package.json
└── README.md
{
"success": true,
"message": "Mensaje enviado a Telegram",
"telegramResponse": {
"ok": true,
"result": {
"message_id": 123,
"chat": { "id": -1001234567890 },
"text": "Tu mensaje"
}
}
}{
"success": false,
"error": "TELEGRAM_BOT_TOKEN no configurado"
}Solución: Configura las variables de entorno en Appwrite Console
{
"success": false,
"error": "Se requiere un mensaje..."
}Solución: Envía { "message": "tu texto" } en el body o ?message=texto en la URL
- ✅ El token del bot nunca se expone en el código
- ✅ Las credenciales se obtienen de variables de entorno de Appwrite
- ✅ Validación de parámetros antes de enviar
- ✅ Manejo de errores completo
La función registra automáticamente:
- Inicio de ejecución
- Verificación de variables de entorno
- Mensaje a enviar (primeros 50 caracteres)
- Resultado del envío
- Errores si ocurren
Puedes ver los logs en Appwrite Console → Functions → [Tu Función] → Executions