Нетривиальная задача ) слегка сломал голову) (1 онлайн

потому что код кривой что ппц , и его надо всегда править человеку который в этом понимает ) реально , ( а почти всегда переписывать заново ) ....
ну, насколько я знаю, сейчас даже человеки которые в этом понимают, пользуются всякими чатами и для серьёзных проектов, а жпт уже и переписывает и правит код разных горе-программёров из Индии :D

можно этот вариант скрипта попробовать, там новые файлы немного по другому принципу детектятся,
вот так у меня работает, железобетонно :D

 

Вложения

Абсолютно такая же история с новым вариантом скрипта

ну, насколько я знаю, сейчас даже человеки которые в этом понимают, пользуются всякими чатами и для серьёзных проектов,
ну вот элементарная вроде бы задача )) ну как этим можно пользоваться еще и для серьезных проектов )?))

на любом следующем файле оно виснет наглухо на сканировании )) ...
и это только одна из уже овер вариантов проблем которые могут быть ) оно уже на этапе теста не работает толком )
и если ты не знаешь как как это работает изнутри - невозможно из этого что то приличное сделать )
Вообщем большинство моих программеров знакомых кто смотрит в код чатгпт - все говорят " это лучше переписать заново , потому что это п...ц "


cmd_rZfKhhJByo.png
 
на любом следующем файле оно виснет наглухо на сканировании )) ...
и это только одна из уже овер вариантов проблем которые могут быть ) оно уже на этапе теста не работает толком )
решил я таки добить этот скрипт :Dle80:
комбайн разобрал, оставил минимум функций, зато теперь должно работать от win7 до win11
также с GPT, но пришлось внимательнее его продюсировать, ну и кое что ручками доделать.

Вобщем, бета версия, у меня работает и на win11, на голой win7, принцип работы в видео,
в архиве все нужные для работы скрипта файлы, есть короткая инструкция в user guide,

главное, перед запуском скрипта, в файле настроек settings.ini дать название плеера и папки которую нужно мониторить
1756398057613.png
 

Вложения

  • Like
Реакции: Ree
@evgeny26, так, а бота тут нет.
Бота я написал, вместе с глушилкой и т.п. Но на семёрке какие-то библиотеки мои подтягивают новые функции. Не знаю, кстати, последняя версия у Артёма запахала, или нет
 
  • Like
Реакции: evgeny26
увы, как понимаю, всё уже упёрлось в отладку на конкретной машине(
 
  • Like
Реакции: PianoIst
всё уже упёрлось в отладку на конкретной машине
Бота я написал, вместе с глушилкой и т.п. Но на семёрке какие-то библиотеки мои подтягивают новые функции.
в принципе, можно и всё решение на powershell сделать,
скрипт вместо локальной папки, будет мониторить сообщения отправленные на тг канал или тг бота, скачивать аудиофайлы голосовых сообщений в папку, а после этого уже мьютить \ играть и т.д. но если 7 совсем древняя, то мониторинг ТГ может не заработать. :rolleyes:

ради спортивного интереса, попробую допилить полное решение задачки на powershell :Dle37:
 
  • Like
Реакции: PianoIst
по подобной теме из habr

 
  • я записываю
  • Sad
Реакции: PianoIst и evgeny26
по подобной теме из habr
ну, как говорится, мыши плакали, кололись, но продолжали грызть кактус :D
вайбкодинг с ИИ иногда бесит, но если наловчиться с ним работать (как с любым инструментом) , то можно получить неплохой результат

кстати, скрипт на powershell, мониторящий телеграм bot, продвигается и уже почти работает, короткий пример на видео :rolleyes:


но в случае win7, нужно как минимум .net 4.7.2, powershell 5.1 и несколько windows updates, чтобы tls1.2 завёлся,
иначе к api телеграм не подключится.
 
Добрый день! Задача еще актуальна? Мой вариант на с++ для 64 битной win7, если актуально скину на тест.
 
@Zerocool, вобщем вот, что получилось. https://cloud.mail.ru/public/4wdh/NVVP3C757
Тестировал на чистой установке Win7 64bit SP1. Небольшая инструкция в архиве. Пробовал с плеером mmplay, как с другими будет работать хз. Если будет ругаться на Dll, нужно будет установить пакет Microsoft Visual C++ 2017 Redistributable (прилагается, но возможно он уже установлен).
 
кстати, скрипт на powershell, мониторящий телеграм bot, продвигается и уже почти работает,
продолжаю играться :Dle80: , новая бета версия скрипта на powershell, но эта уже посерьёзнее и посложнее прошлых,

основные функции из ТЗ выполняет:
мониторит телеграм, глушит основной плеер, скачивает и играет аудио файлы \ голосовые сообщения (опционально с компрессором), можно посылать скрипту базовые комманды через телеграм и локально (pause\resume, stopplay) , можно также посылать TTS сообщения (en\ru). на win7 и 11у меня работает.

пример настройки телеграм токена и основных функций скрипта на видео:


чуть позже выложу сам скрипт с инструкцией
 
  • Like
Реакции: Andruha
а вот и скрипт:


инструкция (на видео выше тоже показан процесс настройки и работы скрипта )
перед запуском скрипта, нужно
1 - запустить конфигуратор - 1Run-TelegramMonitor-Setup.bat
1757186934801.png

2 - выбрать пункт 4 в меню - ввести токен телеграм бота, затем пункт 5 - проверка подключения к телеграм:
1757187753977.png


3 - также в конфигураторе, настроить пути к плееру и папкам, настроить TTS голоса установленные в системе
и сохранить настройки (все настройки, кроме токена, можно менять вручную, в файле settings.ini)

4 - опционально, проверить дополнительные настройки в settings.ini
**Основные параметры:**
- `SvclPath` — Путь к svcl.exe (управление громкостью)
- `FFplayPath` — Путь к ffplay.exe (воспроизведение аудио)
- `Targets` — Имя процесса целевого плеера (например, wmplayer.exe)
- `WatchFolder` — Папка для загрузок Telegram
- `ArchiveFolder` — Папка для архивации файлов
- `BalconPath` — Путь к Balabolka CLI (balcon.exe)
- `Color_Telegram`, `Color_Play`, `Color_Fade` — Цвета событий (опционально)

**Расширенные параметры:**
- `Extensions` — Допустимые типы файлов (например, .mp3,.wav,.ogg)
- `MinBytes` — Минимальный размер файла (байт)
- `MinDurationMs` / `MaxDurationMs` — Фильтры по длительности (мс)
- `ProbePlaybackDuration` — Если true, проверять длительность перед воспроизведением
- `ProgressConsole` — Если true, выводить прогресс воспроизведения в консоль
- `PlaybackStuckGraceMs` — Дополнительное ожидание перед признанием зависания
- `FadeFrom` / `FadeTo` — Начальный/целевой уровень громкости (по умолчанию 100/0)
- `TargetPlayerVolume` — Громкость для восстановления после воспроизведения (по умолчанию 100)
- `ArchiveTypeFolders` — Если true, архивировать по типу файлов
- `ArchiveByDate` — Если true, архивировать по дате
- `ArchiveRetentionDays` — Срок хранения архивных файлов (0 — отключить удаление)
- `CompressorFilterVoice`, `CompressorOnVoice` — ffplay-фильтр для голосовых
- `CompressorFilterTTS`, `CompressorOnTTS` — ffplay-фильтр для TTS
- `CompressorFilterAudio`, `CompressorOnAudio` — ffplay-фильтр для аудио
- `VerboseFadeLogging` — Если true, включить подробные логи fade
- `EnableHttpControl` — Если true, включить локальный HTTP-контроль/статус
- `TTSVoiceEN`, `TTSVoiceRU`, `TTSVoice` — Выбор голоса для TTS

5 - запустить основной скрипт - 1Start_TelegramMonitor.bat
(или 1Start_TelegramMonitor_debug.bat если нужны более детальные логи )

6 - на телеграм бота должно прийти стартовое сообщение, типа: "[Startup] TelegramMuterFullScript started"
- после этого можно начинать отправлять голосовые сообщения, аудио файлы,
- TTS сообщения En (и Ru если установлен подходящий SAPI 5 голос), ( командой /say "число повторов" "текст сообщения" )

### Пример 1: Базовое воспроизведение
1. Отправьте боту голосовое сообшение через телеграм, или загрузите аудио файл
2. Скрипт приглушит целевой плеер, воспроизведёт скаченный с телеграм файл, восстановит громкость, архивирует файл.

### Пример 1: Локальное воспроизведение
1. Отправьте `/play song.mp3` вашему боту.
2. Скрипт приглушит целевой плеер, воспроизведёт локальный файл, восстановит громкость, архивирует файл.

### Пример 2: TTS-объявление
1. Отправьте `/say 2 Привет, команда!` вашему боту.
2. Скрипт сгенерирует речь, воспроизведёт её дважды, архивирует TTS-файл.

### Пример 3: Пауза и возобновление
1. Отправьте `/pause` для остановки новых загрузок.
2. Отправьте `/resume` для продолжения воспроизведения очереди.

-------------------------------------
- `/menu` — Показать главное меню
- `/play <имя_файла> [кол-во]` — Воспроизвести локальный аудиофайл
- /repeat <file> [count] - Repeat file -повторить локальный аудиофайл
- `/stopplay` — Остановить воспроизведение ffplay
- `/queue` — Показать очередь загрузок
- `/clearqueue` — Архивировать и очистить очередь
- `/pause` — Пауза новых загрузок (игнорировать)
- `/pauseq` — Пауза новых загрузок (добавить в очередь)
- `/resume` — Возобновить и воспроизвести очередь
- `/say [кол-во] <текст>` — Озвучить текст
- `/help` — Показать справку и список команд
- `/stopmonitor ` — Остановить скрипт

- опционально, простенькая панель управления - 1ScriptLocalControlPanel.bat
если нужно отправить команду скрипту локально
1757189017909.png

например pause - временно прекратить проигрывание новых аудиофайлов,
или stopplay - остановить проигрывание длинного файла в ffplay.

вобщем процесс получился непростой, но интересный,
по моему ИИ, под чутким руководством, неплохо справился с задачей :Dle45:
( если кому то интересно допилить дальше, или что то похожее, могу выложить более детальную инструкцию и доки, с обьяснениями как там всё работает )
 

Сейчас просматривают