@joboji

Как определить последнее пришедшее сообщение от телеграма?

Использую библиотеку nestjs-telegraf, в сцене нужно загрузить файлы. С одним файлом нет проблем, такой вариант работает:
@WizardStep(2)
  async step2(
    @WizardCtx() ctx: Scenes.WizardContext<UploadContext>,
    @Message('document') document,
  ) {
    if (!document) {
      await ctx.reply(this.i18n.t('upload.fail'));
      return;
    }

    if (document.file_size > 20 * 1024 * 1024) {
      await ctx.reply(this.i18n.t('upload.too_big'));
      return;
    }

    await this.orderService.uploadFile(
      ctx.scene.state.orderId,
      document.file_id,
      document.file_name,
    );

    await ctx.scene.leave();
  }


Когда же нужно загрузить несколько файлов, телеграм разбивает их на отдельные сообщения и возникает ситуация, когда невозможно определить когда выходить из сцены await ctx.scene.leave().
При отправке группы, добавляется media_group_id, но он тоже не помогает определить последний файл.
bots:dev:   update: {
bots:dev:     update_id: 489734832,
bots:dev:     message: {
bots:dev:       message_id: 923,
bots:dev:       from: [Object],
bots:dev:       chat: [Object],
bots:dev:       date: 1698799634,
bots:dev:       media_group_id: '13590397079572762',
bots:dev:       document: [Object]
bots:dev:     }
bots:dev:   },
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы