Skip to content

Автоматизированная отправка новых файлов, которые появляются в новой папке телеграмм боту. Оптимизировано под OpenWrt.

Notifications You must be signed in to change notification settings

Denis11212/auto_send_file_to_telegram

Repository files navigation

Предназначение и принцип работы

Скрипт умеет мониторить выбранную пользователем папку и отправлять оттуда все новые файлы вашему телеграмм боту. Внутри скрипта по большей части работает утилита inotifywait с удобными флагами, которая занимается мониторингом нужной папки, а как только новые файлы будут появляться, то мой скрипт начнёт отправлять эти файлы вашему телеграмм боту посредством утилиты curl. Для удоства настройки телеграмм бота используется jq, чтобы считывать ответ от телеграмм, который содержит chat_id, ошибки (если они имеются) и другие полезные данные. Я старался сделать так, чтобы для настройки не пришлось вообще ни во что вникать. Даже в самом скрипте очень много инструкций и подсказок. Кстати, после устновки, устновочный файл можно удалить, например, так:

rm install_auto_send_file_to_telegram.sh

Приятного пользования!

Инструкция

Для устновки достаточно скачать install_auto_send_file_to_telegram.sh, затем дать права файлу на запуск, ну и выполнить скрипт установки. Устновочный скрипт сам всё сделает. Например, так:

curl -L -O "https://github.com/Denis11212/auto_send_file_to_telegram/raw/refs/heads/main/install_auto_send_file_to_telegram.sh"
chmod +x install_auto_send_file_to_telegram.sh
./install_auto_send_file_to_telegram.sh

Ну и после устновки устройство само перезагрузится.

По умолчанию скрипт отправляет все новые файлы, котрые создаются в папке /tmp/auto_send_file_to_telegram/new

Если нужно будет поменять данные телеграмм бота, то достаточно всего-то опять запустить устновочный скрипт, либо воспользоваться командами UCI, так как скрипт хранит данные в стандартном для OpenWrt конфигурационном файле /etc/config/auto_send_file_to_telegram:

uci set auto_send_file_to_telegram.bot_auth.bot_token=токен_вашего_бота
uci set auto_send_file_to_telegram.bot_auth.chat_id=ваш_идентификатор_чата
uci set auto_send_file_to_telegram.sub_folder.sub_folder_name_path=папка_с_отслеживамой_ботом_папкой
uci set auto_send_file_to_telegram.sub_folder.sub_folder_name=название_отслеживаемой_ботом_папки

Данные применяются только после перезагрузки, соответственно, чтобы бот начал работать с новыми параметрами нужно выполнить команды

uci commit auto_send_file_to_telegram
reboot

Скрипт поддерживает аргументы, соответственно, можно вывести справку, если запустить скрипт установки с флагом -h:

./install_auto_send_file_to_telegram.sh -h

Удалить уже установленный в системе скрипт можно с устновочного скрипта командами с флагом -d:

./install_auto_send_file_to_telegram.sh -d
rm install_auto_send_file_to_telegram.sh

Об этом скрипте и почему он конкретно так сделан и именно так работает

Я не являюсь программистом вообще ни в каком виде. Скрипт это сделал по большей части для того, чтобы немного попрактиковаться (можно сказать, в качестве развлечения, но надеюсь, что кому-то скрипт окажется полезным), а потому, если найдёте какие-то ошибки, или у вас есть полезные дополнения, то я всегда буду рад обратной связи. По мере сил и возможностей буду постепенно улучшить этот скрипт.

About

Автоматизированная отправка новых файлов, которые появляются в новой папке телеграмм боту. Оптимизировано под OpenWrt.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages