@jetprod

Бот обратной связи на Aiogram?

Хочу создать систему обратной связи с помощью бота в телеграме. Бот получает сообщение и отправляет мне. С текстом и фото всё получилось, а вот с документом (файлом) - нет. Ниже предоставляю пример кода:

@dp.message_handler(content_types=['text','photo','document'])
@dp.throttled(func.antiflood, rate=3)
async def sendmsg(message: types.Message, state: FSMContext):
	func.join(chat_id=message.chat.id)
	q.execute(f"SELECT block FROM users WHERE user_id = {message.chat.id}")
	result = q.fetchone()
	if result[0] == 0:
		if message.chat.id == admin:
			pass
		else:
			await message.answer('Сообщение отправлено.')
			await bot.send_message(admin, f"<b>Получен новый вопрос!</b>\n<b>От:</b> {message.from_user.mention}\nID: {message.chat.id}\n<b>Сообщение:</b> {message.text}",reply_markup=kb.fun(message.chat.id), parse_mode='HTML')
			await bot.send_photo(admin,photo=message.photo[0].file_id)
			await bot.send_document(admin,document=message.file_id)
  • Вопрос задан
  • 422 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Ну во-первых, "не получилось" - это, конечно, офигенно детальное и полезное описание проблемы.

Во-вторых, я подозреваю, что дело вот в этом:
photo=message.photo[0].file_id
Наверняка если к сообщению не приложено фото, коллекция photo пуста, тогда попытка обращения к нулевому элементу выкинет исключение, так как этого нулевого элемента просто нет. Проверяй, есть ли вообще что-то в message.photo.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы