1. Для отправки сообщения пользователю по его идентификатору в базе данных с помощью aiogram, нужно сначала получить id чата пользователя и затем использовать метод `bot.send_message(chat_id, text)` для отправки сообщения. Пример кода:
```python
import asyncio
from aiogram import Bot, Dispatcher, types
# Инициализация бота
API_TOKEN = 'your_api_token'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
# Функция для отправки сообщения по id пользователя
async def send_message_to_user(user_id, message):
await bot.send_message(user_id, message)
# Пример использования функции
user_id = 123456789 # id пользователя в базе данных
message = "Привет! Это сообщение отправлено через aiogram."
asyncio.run(send_message_to_user(user_id, message))
```
2. Чтобы получить имя пользователя, на чье сообщение был дан ответ, используя id в телеграм боте, можно воспользоваться методом `get_chat(chat_id)` и получить объект `User` из `chat` для получения информации о пользователе. Пример кода:
```python
import asyncio
from aiogram import Bot, types
# Инициализация бота
API_TOKEN = 'your_api_token'
bot = Bot(token=API_TOKEN)
# Функция для получения имени пользователя по id чата
async def get_user_name(chat_id):
chat = await bot.get_chat(chat_id)
user = chat.type.user
user_name = user.full_name
return user_name
# Пример использования функции
chat_id = 123456789 # id чата пользователя
user_name = asyncio.run(get_user_name(chat_id))
print(f"Имя пользователя: {user_name}")
```
Эти примеры помогут вам отправлять сообщения и получать информацию о пользователях при работе с aiogram.