Связка канал + группа:
Идея в следующем
Вы создаёте Канал, в который бот-отправитель публикует пост.
К этому каналу вы прикрепляете группу обсуждения (обычная 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="Статус обновлён")