Как задавать businessConnection, чтобы подключить бота к своим личным сообщениям?

Не так давно в Telegram стал доступен раздел "Телеграм для бизнеса". Одной из дополнительных возможностей, которые открывает это обновление, является возможность добавить чат-бота к своим личным сообщениям. То есть человек пишет человеку, и прям в этом чате ему может отвечать бот. Проблема заключается в том, что для того, чтобы всё это работало, необходимо использовать BusinessConnection. Я потратил довольно много времени на поиск информации, но нигде не нашел конкретных примеров использования BusinessConnection. Везде описывали свойства этого объекта, но это я могу посмотреть и в официальной документации. Прикреплю сюда пример своего бота, чтобы Вам было нагляднее. Конкретно суть вопроса: Как именно задавать businessConnection (а может, потребуется что-то ещё), для того, чтобы подключить бота к своим личным сообщениям?

Ссылка на документацию: https://core.telegram.org/bots/api#businessconnection

Файл main.py


from aiogram import Bot, Dispatcher

from handlers import router
from config import TOKEN


# Запускаем бота и обработчик сообщений
async def main():
    bot = Bot(token=TOKEN)
    dp = Dispatcher()
    dp.include_router(router)
    await dp.start_polling(bot)



if __name__ == '__main__':
    try:   
        asyncio.run(main())
        print('Бот запущен')
    except KeyboardInterrupt:
        print('Бот выключен')

Файл handlers.py

from aiogram import F, Router
from aiogram.filters import CommandStart
from aiogram.types import Message, ReplyKeyboardRemove

import keyboards as kb

router = Router()

# Функция возвращает словарь с информацией о пользователе
def get_info_about_user(message, contact=False):
    info_about_user = {
        'name': message.from_user.first_name,
        'lastName': message.from_user.last_name,
        'username': message.from_user.username,
        'id': message.from_user.id,
        'chatId': message.chat.id,
        'text': message.text,
        'date': message.date,
    }
    # Если пользователь согласился отправить номер телефона, то добавляем его в словарь
    if contact:
        info_about_user['phone'] = message.contact.phone_number
    return info_about_user

# Обработка /start, на этом этапе ещё не собираем информацию о пользователе
@router.message(CommandStart())
async def start(message: Message):
    await message.answer('Здравствуйте! Вы хотите отправить номер телефона?', reply_markup=kb.phone_number_kb)

# Обработчик нажатия на кнопку "Отправить номер телефона"
@router.message(F.content_type == "contact")
async def contact_received(message: Message):
    info_about_user_with_phone = get_info_about_user(message, contact=True)
    print(info_about_user_with_phone)
    await message.answer(f"Спасибо, {info_about_user_with_phone['name']}, {info_about_user_with_phone['lastName']}! Мы получили ваш контакт", reply_markup=ReplyKeyboardRemove())

# обработчик всех сообщений, кроме тех, что уже обработаны выше
@router.message()
async def get_chat_id(message: Message):
    info_about_user = get_info_about_user(message)
    print(info_about_user)
    # Оно равно None
    print(message.business_connection_id)
    if info_about_user['text'] == 'Не отправлять номер телефона':
        await message.answer(f"Спасибо, {info_about_user['name']}, {info_about_user['lastName']}", reply_markup=ReplyKeyboardRemove())

Файл keyboards.py

from aiogram.types import (ReplyKeyboardMarkup, KeyboardButton)

# Клавиатура, которая появляется после старта и откликнуться с отправкой номера телефона или без
phone_number_kb = ReplyKeyboardMarkup(keyboard=[[KeyboardButton(text='Отправить номер телефона', 
            request_contact=True)], [KeyboardButton(text='Не отправлять номер телефона')
            ]], resize_keyboard=True)

Ответы (0 шт):