Для передачи изображения из базы данных в чат-бот Telegram, вам необходимо сначала извлечь изображение из базы данных в формате, который поддерживается Telegram (например, URL ссылка на изображение). Затем вы можете отправить это изображение в чат-бот Telegram с помощью метода `send_photo` или `send_photo_from_url`.
Пример кода для отображения фото пользователя из базы данных в функции `my_profile` с использованием ID пользователя:
```python
import aiogram
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.types import User
users = {
1: {
"name": "John",
"photo_url": "https://example.com/photo1.jpg"
},
2: {
"name": "Jane",
"photo_url": "https://example.com/photo2.jpg"
}
}
bot = Bot(token="YOUR_TOKEN")
dp = Dispatcher(bot)
@dp.message_handler(commands=['my_profile'])
async def my_profile(message: types.Message):
user_id = message.from_user.id
if user_id in users:
user_data = users[user_id]
name = user_data["name"]
photo_url = user_data["photo_url"]
await bot.send_message(message.chat.id, f"Name: {name}")
# Отправляем фото пользователя
await bot.send_photo(message.chat.id, photo_url)
else:
await bot.send_message(message.chat.id, "User not found")
if __name__ == '__main__':
aiogram.executor.start_polling(dp)
```
В данном примере, при вызове команды `/my_profile`, бот проверяет наличие пользователя с указанным ID в базе данных `users` и отправляет его имя и фото в чат.
Убедитесь, что ваш база данных содержит корректные URL ссылки на изображения пользователей.