Телеграм бот не реагирует на сообщение в группе. python aiogram
Бот отправляет сообщение в группу с кнопкой. После нажатия этой кнопки он просит ввести полную цену заказа. Но почему-то не реагирует. Состояние объявил и бот переходит на него, но функция обработки не срабатывает. Код:
async def handle_enter_price(self, callback_query: types.CallbackQuery, state: FSMContext):
order_id = callback_query.data.split('_')[2]
await state.update_data(order_id=order_id)
await callback_query.message.answer("Введіть загальну ціну збірки для всіх товарів:")
await state.set_state(Form.waiting_for_total_price_input)
current_state = await state.get_state()
print(f"Поточний стан: {current_state}")
async def process_total_price_input(self, message: types.Message, state: FSMContext):
try:
total_assembly_price = float(message.text.strip())
except ValueError:
await message.answer("Некоректне значення ціни. Введіть число.")
return
data = await state.get_data()
order_id = data['order_id']
print(order_id)
# Оновлення загальної ціни в базі даних
sql_requests.update_total_order_price(order_id, total_assembly_price)
# Надсилання підсумкового повідомлення замовнику
contractor_chat_id = sql_requests.get_contractor_chat_id(order_id)
products_info = "\n".join(
[f"Товар: {p['product']}, Артикул: {p['article']}, Вартість збірки: {total_assembly_price} грн" for p in
data['products']]
)
await self.bot.send_message(contractor_chat_id,
f"Ціна на збірку оновлена:\n"
f"{products_info}\n"
f"Загальна вартість збірки: {total_assembly_price} грн"
)
# Надсилання повідомлення в канал
await self.send_to_channel(data, order_id)
await state.clear()
Регистрация состояния:
self.dp.message.register(self.process_total_price_input, Form.waiting_for_total_price_input)
Ответы (1 шт):
Автор решения: dofi4ka
→ Ссылка
Боты не имеют права читать обычные сообщения в группах в целях безопасности. Если нужно реализовать какой-либо функционал с чтением сообщений то не забудьте выдать ему нужные права