Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Не передаются файлы в telegram  (Прочитано 6930 раз)

illidanSTR

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Не передаются файлы в telegram
« : 17 Ноября 2022, 13:51:27 »
Добрый день! Столкнулся с такой проблемой. Мне необходимо отправлять сообщение в телеграмм, и прикреплять к нему файл с отчетом. На одном компьютере все работает, перенес проект на другой компьютер. На другом компьютере сообщения в телеграмм отправляются, но не прикрепляется файл. В журнале сервера скады пишет Telegram. EC:200. SendTelegram report error:Socket Error #10054 Connection reset by peer Chat ID:*****. Подскажите в чем может быть проблема? В настройках сервера в графе отправка телеграмм сообщений прокси сервер не используется, потому что при использовании любого из списка сообщения не отправляются вообще. Код отвечающий за отправку сообщения и файла прилагаю.

Код: (delphi)
aReport := ReportBuild('Дозатор_отчет');
aReport.View(GetClientName);
aTelegram := SendTelegram('Отчет по статусам дозатора');
aTelegram.AttachReport (aReport);
« Изменён: 17 Ноября 2022, 15:38:55 от Simple_Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1167
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #1 : 18 Ноября 2022, 09:47:04 »
Здравствуйте.

Цитировать
На другом компьютере сообщения в телеграмм отправляются, но не прикрепляется файл.
Т.е., при выполнении указанного скрипта сообщение "Отчет по статусам дозатора" приходит, но без отчета? Или не приходит вообще ничего?

Также укажите, какая версия Simple-Scada используется. Посмотреть можно на вкладке "Состояние сервера".

illidanSTR

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #2 : 18 Ноября 2022, 09:59:22 »
Версия скады 2.5.6.0
С другого компьютера сообщение приходит, но не приходит именно файл. Компьютеры подключены к одной сети, но тот на котором все работает подключен через вайфай, а тот на котором не работает - через кабель. Сервер скады на котором не работает отправка файла отчета установлен на виртуальной машине, если это важно. Каким именно образом происходит отправка сообщений в телеграмм? Возможно для отправки именно файла используется какой то отдельный порт?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1167
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #3 : 19 Ноября 2022, 20:31:34 »
Цитировать
С другого компьютера сообщение приходит, но не приходит именно файл.
Возможно на данном ПК ограничены права пользователя под которым Вы работаете или имеются ограничения прав доступа к директории, в которую сохраняются отчеты.

1. Попробуйте запустить сервер скады "от имени администратора" (кликнуть ПКМ по ярлыку сервера -> "Запуск от имени администратора") и протестируйте повторно.
2. Проверьте настройки прав доступа к папке, в которую сохраняются отчеты: "C:\ProgramData\Simple-Scada 2\Имя проекта".
3. Пришлите для проверки на support@simple-scada.com текущую версию Вашего проекта из директории "..\Simple-Scada 2\Projects\".

Цитировать
Компьютеры подключены к одной сети, но тот на котором все работает подключен через вайфай, а тот на котором не работает - через кабель.
Это никак не влияет на процесс отправки сообщений.

illidanSTR

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #4 : 21 Ноября 2022, 07:18:41 »
Проверил доступ к папке, все в порядке доступ есть. Файлы отчета туда сохраняются.
Пробовал от имени администратора запуск, ничего не поменялось.
Проект выслал вам на почту.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2997
    • Просмотр профиля
    • Simple-Scada
Re: Не передаются файлы в telegram
« Ответ #5 : 22 Ноября 2022, 09:50:11 »
Проверили отправку с разных ПК с версией 2.5.6.0, все отчеты отправляются корректно.

Цитировать
В журнале сервера скады пишет Telegram. EC:200. SendTelegram report error:Socket Error #10054 Connection reset by peer Chat ID:*****.
Ошибка говорит о том, что соединение было сброшено во время отправки POST-запроса с файлом на сервер Telegram. Уточните следующие вопросы:
1. Вы отправляете отчет в тот же чат, что и на другом ПК (на котором отправка выполняется корректно)?;
2. Сохраните построенный отчет в формат .pdf на диск и проверьте размер полученного файла. Он занимает более 50 Мб?
3. Проверьте скорость выгрузки файла на проблемном ПК. Например, попробуйте с проблемного ПК загрузить .pdf файл построенного отчета в интернет (например, как вложение в e-mail). Сколько по времени занимает выгрузка? Возможно сервер Telegram обрывает соединение из-за того, то файл передаётся слишком долго;
4. Если на проблемном ПК используется VPN, или прокси, то временно верните прямой выход в интернет и проверьте отправку отчета;
5. Временно отключите стороннее ПО, которое может проверять/блокировать трафик (антивирус/файрвол) и проверьте отправку отчета.

illidanSTR

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #6 : 28 Ноября 2022, 11:22:08 »
1. Отправляю в тот же чат
2. Готовый отчет весит 70кб
3. В интернет файл быстро грузится, без проблем
4. Выход в интернет используется прямой.
5. Антивирусы и фаерволы отсутствуют, брандмауэр встроенный отключен

Пробовал отправлять через телеграмм другие файлы, они тоже не отправляются. Выдает все ту же ошибку.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2997
    • Просмотр профиля
    • Simple-Scada
Re: Не передаются файлы в telegram
« Ответ #7 : 28 Ноября 2022, 13:39:12 »
Больше у нас нет предположений. Скада выполняет примитивный POST-запрос к серверу Telegram, никаких других действий не выполняется. Выполнять POST как-то по-другому невозможно. Со стороны скады нам просто нечего исправлять.
Возможно проблема связана с передачей данных из виртуальной машины. Попробуйте установить скаду в основную ОС и выполнить отправку из неё. Если отправка сообщения выполняется, значит что-то не так с виртуальной машиной и нужно искать причину в ней. Если из основной ОС тоже не отправляется, то попробуйте с другого ПК в той же сети и так далее, методом исключения, пока не станет ясна причина проблемы.

illidanSTR

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #8 : 05 Декабря 2022, 11:43:01 »
Проверили на других машинах и нашли причину. Проблема была в виртуалке qemu-kvm. На virtualbox все заработало. Возможно какие то внутренние ограничения виртуалки были.

fipiko

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Не передаются файлы в telegram
« Ответ #9 : 07 Февраля 2024, 21:06:19 »
Убедитесь, что на новом компьютере нет проблем с интернет-соединением. Попробуйте выполнить другие сетевые операции, чтобы убедиться, что соединение стабильно. Проверьте, не блокируют ли файрвол или антивирусные программы сетевой трафик, связанный с вашим приложением. Так же возможно понадобиться купить прокси чтобы можно было зайти с другого айпи. Убедитесь, что файл, который вы пытаетесь отправить, существует на новом компьютере и доступен для чтения. Проверьте пути к файлу в коде. Проверьте права доступа к файлам и папкам, чтобы ваше приложение имело необходимые права для чтения файла.
« Изменён: 08 Февраля 2024, 21:46:15 от fipiko »