Как сделать, чтобы бот отправил предложение о сделке от первого ко второму пользователю бота?

Я пишу гарант бота в телеграм на библиотеке Aiogram на v2 (но если знаете как сделать на 3 тоже будет очень полезно). И чтобы создать сделку, один пользователь должен ввести юзернейм второго человека для создания сделки и отправить боту, после этого бот должен отправить запрос о предложении. И второй человек должен принять или отклонить это предложение.

Подскажите пожалуйста как это реализовать, не нашел вообще никаких тем про гарант ботов в интернете. Буду очень рад если расскажете механизм действия, а если поможете с кодом, буду вам признательнее вдвойне.


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

Автор решения: CausonQ

Используйте Deep-link Выдавайте продавцу индивидуальную ссылку вида t.me/<bot_username>?start=<parameter>, где <parameter> - это некое уникальное значение, к примеру user_id.

Примерная схема: продавец дает ссылку покупателю. Покупатель, при переходе по ссылке жмет кнопку старт, бот же сразу принимает этот переданный параметр, достает из БД данные продавца. И все, у вас ест все необходимые данные, и соединить участников уже не представляет проблемы

→ Ссылка
Автор решения: Giga_Bird

Спасибо за предложенные варианты, но я нашел то, что искал. Чтобы отправить запрос о сделке другому юзеру (оба они должны были запустить бот, чтобы у бота был доступ к чату каждого) нужно было добавить всего лишь этот небольшой кусочек кода, надеюсь я кому то помог кроме себя!

@dp.callback_query_handler(text='offer')
async def offer(callback: types.CallbackQuery):
    await callback.message.answer('Введи нужное id')

@dp.message_handler()
async def send_offer(message: types.Message):
    try:
        user_id = message.text
        await bot.send_message(chat_id = user_id, text='Новая сделка')
    except:
        await message.answer(text='Такого пользователя нет')

*Я обрабатываю сообщение через кол дату, а не команду.

→ Ссылка