Как обработать постбек, тг бот

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

такая проблема. Партнёрская программа при регистрации на сайте отправляет постбек Регистрация: https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=&text={sub1} В группу где другой бот2 должен был видеть этот {sub} (это id пользователя), после этого бот2 вносит изменения в БД. Можете накинуть идей как это починить или другие способы решения задачи.

Ответы

▲ 0Принят

Связка канал + группа: Идея в следующем

Вы создаёте Канал, в который бот-отправитель публикует пост.

К этому каналу вы прикрепляете группу обсуждения (обычная Telegram-группа). Когда бот пишет сообщение в Канал, Telegram автоматически дублирует это сообщение в группу обсуждения.

И вот уже во втором боте вы можете отследить это сообщение в группе, потому что оно отправлено не ботом, а системой Telegram, и таким образом его видно второму боту.

Как обработать postback и внести изменения в БД

Представим:

Первый бот отправляет инлайн-кнопку с callback_data, например: "update_12345"

Когда пользователь нажимает на неё — срабатывает postback (callback query).

Вы в обработчике postback'а просто делаете SQL-запрос.

@dp.callback_query_handler(lambda c: c.data and c.data.startswith('update_'))
async def process_callback(callback_query: CallbackQuery):
    record_id = callback_query.data.split('_')[1]

    # Обновляем запись в БД
    conn = sqlite3.connect("mydb.db")
    cursor = conn.cursor()
    cursor.execute("UPDATE requests SET status = ? WHERE id = ?", ('approved', record_id))
    conn.commit()
    conn.close()

    await bot.answer_callback_query(callback_query.id, text="Статус обновлён")