"""EventBridge-triggered Lambda: sends a Telegram reminder then deletes the rule.""" import json import os import boto3 import urllib.request def handler(event, context): chat_id = event['chat_id'] message = event['message'] rule_name = event['rule_name'] # Fetch bot token sm = boto3.client('secretsmanager', region_name='us-east-1') token = sm.get_secret_value(SecretId=os.environ['TELEGRAM_BOT_TOKEN_SECRET_ARN'])['SecretString'] # Send Telegram message payload = json.dumps({'chat_id': chat_id, 'text': message}).encode() req = urllib.request.Request( f'https://api.telegram.org/bot{token}/sendMessage', data=payload, headers={'Content-Type': 'application/json'}, ) urllib.request.urlopen(req) # Delete the one-time rule eb = boto3.client('events', region_name='us-east-1') eb.remove_targets(Rule=rule_name, Ids=['scheduler']) eb.delete_rule(Name=rule_name)