@norixus

Как бот может переслать файл с любым расширением в Telegram (aiogram)?

Я не могу никак переслать файл ни себе ни любому другому пользователю. ПАМАГИТИ
Моя попытка:
@dp.message_handler(lambda message: message.text == "Отправить на проверку", state='*')
async def send_order_main(message: types.Message):
  if (db.get_role(message.from_user.id) == 'исполнитель' or 'админ'):
    state = dp.current_state(user=message.from_user.id)
    await message.reply('Отправьте файл заказа(файл с расширением .arexport):', reply=False)
    await state.set_state(SendOrderStates.all()[0])
  else:
    pass

@dp.message_handler(state=SendOrderStates.TEST_STATE_0)
async def send_order_finish(message: types.Message):
  state = dp.current_state(user=message.from_user.id)
  SendOrderStates.document = message.document
  print(SendOrderStates.document)
  await message.forward(775430746, disable_notification=False)
  await state.finish()
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
@vyr0d0k
У тебя тут достаточно много ошибок, вот как примерно должны выглядеть твои хендлеры:
from aiogram.dispatcher import FSMContext


@dp.message_handler(text="Отправить на проверерку", user_id=[список из ID (int) админов и исполнителей], state="*")
async def send_order_main(message: types.Message, state: FSMContext):
    await state.set_state("название стейта")
    await message.answer("Отправьте файл заказа(файл с расширением .arexport):")


@dp.message_handler(content_types=types.ContentType.DOCUMENT, state="название стейта")
async def send_order_finish(message: types.Message, state: FSM Context):
    msg_document = message.document.file_id
    await dp.bot.send_document(775430746, msg_document)
    await state.reset_state()


Если хочешь что-то ещё спросить, пиши в тг @yan_pr
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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