-
Telegram
- Crea un bot con BotFather y obtén el token.
- Agrega el bot al grupo privado y dale permisos para leer mensajes.
- Obtén el
chat_iddel grupo (puedes usar @getidsbot o imprimirlo en el código).
-
Microsoft Exchange (Graph API)
- Registra una app en Azure Portal para obtener:
EXCHANGE_CLIENT_IDEXCHANGE_CLIENT_SECRETEXCHANGE_TENANT_ID
- Da permisos para enviar correos (Mail.Send).
- Usa el correo del remitente (
EXCHANGE_SENDER) y destinatario (EXCHANGE_RECIPIENT).
- Registra una app en Azure Portal para obtener:
-
Configura
config.json- Reemplaza los valores
<...>por los datos reales.
- Reemplaza los valores
-
Instala dependencias
- Ejecuta:
pip install -r requirements.txt
- Ejecuta:
-
Ejecución
- Corre el bot con:
python main.py
- Corre el bot con:
-
Zona horaria
- El bot usa la zona horaria de Argentina (
America/Argentina/Buenos_Aires).
- El bot usa la zona horaria de Argentina (
El bot puede enviar correos usando dos métodos, según el dominio del remitente:
- Gmail:
- Si el campo
EXCHANGE_SENDERtermina en@gmail.com, el bot usará Gmail SMTP. - Debes generar una clave de aplicación en tu cuenta de Google y colocarla en el campo
GMAIL_APP_PASSWORDenconfig.json. - Ejemplo de configuración:
"EXCHANGE_SENDER": "tunombre@gmail.com", "GMAIL_APP_PASSWORD": "<tu_clave_de_aplicacion>"
- Si el campo
- Microsoft Exchange (O365):
- Si el remitente NO es Gmail, el bot usará autenticación moderna con Microsoft Exchange/Office 365.
- Debes completar los campos
EXCHANGE_CLIENT_ID,EXCHANGE_CLIENT_SECRET, yEXCHANGE_TENANT_ID.
Nota: Si usas Gmail, no es necesario completar los campos de Exchange (puedes dejarlos vacíos o con valores genéricos).
{
"TELEGRAM_TOKEN": "<TU_TELEGRAM_BOT_TOKEN>",
"EXCHANGE_CLIENT_ID": "<MICROSOFT_CLIENT_ID>",
"EXCHANGE_CLIENT_SECRET": "<MICROSOFT_CLIENT_SECRET>",
"EXCHANGE_TENANT_ID": "<MICROSOFT_TENANT_ID>",
"EXCHANGE_SENDER": "tunombre@gmail.com",
"EXCHANGE_RECIPIENT": "destino1@dominio.com,destino2@dominio.com",
"GROUP_CHAT_ID": "<TELEGRAM_GROUP_CHAT_ID>",
"TIMEZONE": "America/Argentina/Buenos_Aires",
"GMAIL_APP_PASSWORD": "<tu_clave_de_aplicacion_gmail>"
}- Si usas Exchange, EXCHANGE_SENDER debe ser un correo corporativo y debes completar los campos de Exchange.
- Si usas Gmail, EXCHANGE_SENDER debe ser tu correo @gmail.com y debes completar GMAIL_APP_PASSWORD.
{
"757121530": "Sebastian Martinez",
"123456789": "Juan Perez",
"987654321": "Maria Gomez"
}- El ID es el número de usuario de Telegram.
- El valor es el nombre formal que aparecerá en el correo.
- Si un usuario no está en este archivo, se usará su nombre de Telegram seguido del ID.
- El bot solo funciona de lunes a viernes de 8:30 a 11:00.
- Si a las 10:00 faltan respuestas, arrobá a los que faltan.
- Cada día se reinician las decisiones.
- El correo se envía solo con autorización (
/enviar).