Как сделать ссылку на пользователя в сообщении кликабельной?

Рейтинг: 0Ответов: 1Опубликовано: 29.01.2023

Пишу бота, необходимо сделать кликабельную ссылку на пользователь в сообщении, у меня есть ID пользователя, я делаю вот так, но не получается:

await bot.send_message(chat.id, f"Переслано от [{first_name} {last_name}](tg://user?id=345345434556)", parse_mode='Markdown', reply_markup=buttons)

Но например если сделать, вот так, то я получаю кликабельную ссылку (правда на самого себя):

await bot.send_message(chat.id, f"Переслано от [{message.from_user.first_name} {message.from_user.last_name}](tg://user?id={message.from_user.id})", parse_mode='Markdown', reply_markup=buttons)

Подскажите, возможно ли сделать это сделать?

Ответы

▲ 1Принят

Если я вас правильно понял, то решение можно реализовать довольно легко. Просто вставляем ссылку на профиль через html-тег м помощью parse_mode='html'. В ссылку нужно вставлять не from_user.id a from_user.username

await bot.send_message(message.from_user.id, text=f"Переслано от <a href='https://t.me/{message.from_user.username}'><i><b>[{first_name} {last_name}]</b></i></a>", parse_mode='html')

Но я предпочитаю делать ссылку на аккаунт при помощи инлайн кнопки

markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("📺 Зв'язатись із тех. підтримкою", url="https://t.me/Christooo1"))
        photo = open('img/what-is-bot-management.png', 'rb')
        await bot.send_photo(message.from_user.id, photo, caption="При будь-яких питаннях звертайтесь до нашого менеджера: @Christooo1", reply_markup=markup, parse_mode='html')