OAuth callback: send Telegram confirmation message after Google auth
This commit is contained in:
@@ -205,6 +205,26 @@ def handle_callback(params: dict) -> dict:
|
||||
except Exception as e:
|
||||
print(f'[oauth] DynamoDB update failed: {e}')
|
||||
|
||||
# Best-effort Telegram confirmation
|
||||
try:
|
||||
bot_token_arn = os.environ.get('TELEGRAM_BOT_TOKEN_SECRET_ARN', '')
|
||||
if bot_token_arn and actor_id.startswith('telegram:'):
|
||||
chat_id = actor_id.split(':', 1)[1]
|
||||
bot_token = get_sm().get_secret_value(SecretId=bot_token_arn)['SecretString']
|
||||
tg_text = (
|
||||
f'✅ Google account connected!\n\n'
|
||||
f'{user_email} is now linked. You can now ask me about your Gmail, Calendar, and Drive.'
|
||||
)
|
||||
tg_payload = json.dumps({'chat_id': chat_id, 'text': tg_text}).encode()
|
||||
tg_req = urllib.request.Request(
|
||||
f'https://api.telegram.org/bot{bot_token}/sendMessage',
|
||||
data=tg_payload,
|
||||
headers={'Content-Type': 'application/json'},
|
||||
)
|
||||
urllib.request.urlopen(tg_req, timeout=5)
|
||||
except Exception as e:
|
||||
print(f'[oauth] Telegram notification failed: {e}')
|
||||
|
||||
return _html(
|
||||
f'<h1>✅ Google account connected!</h1>'
|
||||
f'<p>Connected <b>{user_email}</b> to your agent account.</p>'
|
||||
|
||||
Reference in New Issue
Block a user