Чтобы реализовать передачу ID пользователя в Telegram и показывать данные при запросе ../user/id с использованием FastAPI, необходимо следовать нескольким шагам.
1. Начнем с создания FastAPI приложения:
from fastapi import FastAPI app = FastAPI()
2. Определим ендпоинт для отображения данных пользователя по ID:
@app.get("/user/{user_id}") async def read_user(user_id: int): # Здесь можно написать логику для получения данных пользователя по его ID # Например, запрос к базе данных return {"user_id": user_id, "name": "John Doe", "age": 30}
3. Теперь нам нужно отправить данные в Telegram. Для этого мы можем использовать библиотеку python-telegram-bot. Установим её с помощью pip:
pip install python-telegram-bot
4. Создадим простой бот в Telegram и получим его токен.
5. Добавим отправку сообщения в Telegram в нашу функцию read_user:
from telegram import Bot telegram_bot = Bot(token='YOUR_TELEGRAM_BOT_TOKEN') @app.get("/user/{user_id}") async def read_user(user_id: int): # Логика получения данных пользователя по его ID user_data = {"user_id": user_id, "name": "John Doe", "age": 30} # Отправка данных в Telegram message = f"User ID: {user_data['user_id']}nName: {user_data['name']}nAge: {user_data['age']}" chat_id = 'YOUR_CHAT_ID' # ID чата, куда нужно отправить сообщение telegram_bot.send_message(chat_id=chat_id, text=message) return user_data
6. В результате при запросе ../user/123 данные о пользователе с ID=123 будут отображаться на сервере, а также отправляться в ваш Telegram чат.
Убедитесь, что у вас есть соответствующие права доступа к базе данных (если используется) и к Telegram API для отправки сообщений.