Возможно ли получить ссылку на топик группы в телеграм через айди группы и топика?

Пишу бота на aiogram3, который при заполнении заявки пользователем отправляет уведомление в группу админов. К этому сообщению должна цепляться инлайн-клавиатура с кнопками "Профиль" и "Топик" (если он создан). Нашел информацию, что ссылку можно получить в виде "t.me/[юзернейм группы]/[thread_id]", но у меня есть только ID группы, не юзернейм, больше найти ничего получилось.

Можно ли как-то получить ссылку на этот самый топик используя id группы?

Снизу приведу код для кнопки "Профиль", возможно есть что-то такое и под топики.

...
try:
        buttons.append([InlineKeyboardButton(text='? Профиль',
                                             url=f"tg://user?id={user_id}")])
    except:
        pass
...

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

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

Для начала надо узнать ID пользователя, т.е telegram_id

@router.message(Command("start"))
async def start_handler(message: Message):
    telegram_id = message.from_user.id
    username = message.from_user.username or "Без имени"
    first_name = message.from_user.first_name or "Без имени"
    last_name = message.from_user.last_name or "Без имени"

    await message.answer(
        f"Привет! Твой Telegram ID: {telegram_id}\n"
        f"Твоё имя: {first_name}\n"
        f"Username: {username}\n"
        f"Полные данные: {last_name}"
    )

Потом данные отправляются в базу данных. Когда появляется новая запись - нужно отправить ее в чат с админами.


ADMIN_CHAT_ID = "номер чата"
bot = Bot(token="YOUR_BOT_TOKEN")
router = Router()

@router.message(Command("start"))
async def start_handler(message: types.Message):
    user = message.from_user
    telegram_id = user.id
    
    
    keyboard = InlineKeyboardMarkup(
        inline_keyboard=[
            [InlineKeyboardButton(
                text="? Профиль", 
                url=f"tg://user?id={telegram_id}"
            )]
        ]
    )
    
    #отправли данные нового пользователя в чат
    await bot.send_message(
        chat_id=ADMIN_CHAT_ID,
        text=(
            "*Новый пользователь в боте!*\n\n"
            f"*ID:* `{telegram_id}`\n"
            f"*Имя:* {user.first_name or 'Не указано'}\n"
            f"*Фамилия:* {user.last_name or 'Не указано'}\n"
            f"*Username:* @{user.username or 'Не указан'}"
        ),
        reply_markup=keyboard,
        parse_mode="Markdown"
    )

Надеюсь ответил на Ваш вопрос.

→ Ссылка