Как настроить пересылку сообщений владельцу Telegram бота с использованием aiogram?

Как реализовать отправку сообщения с номером телефона (контактом) владельцу бота Telegram или сохранить его в базу данных?
  • 27 сентября 2023 г. 18:37
Ответы на вопрос 3
1. Для настройки пересылки сообщений владельцу Telegram бота с использованием aiogram, вам необходимо получить айди пользователя бота, которому будут перенаправляться сообщения. Для этого вы можете использовать следующий код:

```python
from aiogram import Bot, Dispatcher

bot = Bot(token='YOUR_BOT_TOKEN')
dp = Dispatcher(bot)

@dp.message_handler()
async def forward_to_owner(message):
    owner_id = 'OWNER_USER_ID'  # Идентификатор пользователя владельца бота
    await bot.forward_message(owner_id, message.chat.id, message.message_id)

if __name__ == '__main__':
    dp.run_polling()
```

2. Чтобы отправить сообщение с номером телефона (контактом) владельцу бота Telegram или сохранить его в базу данных, вы можете использовать следующий код:

```python
from aiogram import Bot, Dispatcher, types

bot = Bot(token='YOUR_BOT_TOKEN')
dp = Dispatcher(bot)

@dp.message_handler(content_types=types.ContentType.CONTACT)
async def handle_contact(message):
    owner_id = 'OWNER_USER_ID'  # Идентификатор пользователя владельца бота
    contact = message.contact
    # Выполните здесь необходимые действия с номером телефона
    # Например, сохраните его в базу данных или отправьте владельцу бота
    await bot.send_message(owner_id, f"Получен новый контакт: {contact.phone_number}")

if __name__ == '__main__':
    dp.run_polling()
```

В обоих случаях замените `'YOUR_BOT_TOKEN'` на токен вашего бота Telegram, а `'OWNER_USER_ID'` на айди пользователя, которому нужно перенаправлять сообщения или отправлять контакты.
1. Переслать конкретное сообщение с указанием его IDawait message.bot.forward_message(chat_id, from_chat_Id, message_id)
2. Переслать текущее сообщение без указания его IDawait message.forward(chat_id)
Похожие вопросы