{"id":39016185,"url":"https://github.com/3cky/telegram-uploader-bot","last_synced_at":"2026-01-17T17:25:03.325Z","repository":{"id":186127947,"uuid":"674644483","full_name":"3cky/telegram-uploader-bot","owner":"3cky","description":"Telegram bot watches new files and uploads them to chats.","archived":false,"fork":false,"pushed_at":"2024-03-01T10:53:47.000Z","size":52,"stargazers_count":9,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-06-21T17:57:19.161Z","etag":null,"topics":["telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3cky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-04T12:51:08.000Z","updated_at":"2024-05-28T09:16:50.000Z","dependencies_parsed_at":"2024-06-21T16:32:34.248Z","dependency_job_id":"d51151e5-33b2-4e24-885e-a081f61a23d3","html_url":"https://github.com/3cky/telegram-uploader-bot","commit_stats":null,"previous_names":["3cky/telegram-uploader-bot"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/3cky/telegram-uploader-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3cky%2Ftelegram-uploader-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3cky%2Ftelegram-uploader-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3cky%2Ftelegram-uploader-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3cky%2Ftelegram-uploader-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3cky","download_url":"https://codeload.github.com/3cky/telegram-uploader-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3cky%2Ftelegram-uploader-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28512902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["telegram","telegram-bot"],"created_at":"2026-01-17T17:25:03.226Z","updated_at":"2026-01-17T17:25:03.308Z","avatar_url":"https://github.com/3cky.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# telegram-uploader-bot\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/3cky/telegram-uploader-bot/docker-publish.yml?logo=github\u0026branch=main\u0026style=for-the-badge)](https://github.com/3cky/telegram-uploader-bot/actions/workflows/docker-publish.yml)\n[![Release](https://img.shields.io/github/release/3cky/telegram-uploader-bot.svg?logo=github\u0026style=for-the-badge)](https://github.com/3cky/telegram-uploader-bot/releases/latest)\n[![Docker Image Size](https://img.shields.io/docker/image-size/3cky/telegram-uploader-bot/latest?logo=docker\u0026style=for-the-badge)](https://hub.docker.com/r/3cky/telegram-uploader-bot/tags)\n[![Docker Pulls](https://img.shields.io/docker/pulls/3cky/telegram-uploader-bot?label=Pulls\u0026logo=docker\u0026style=for-the-badge)](https://hub.docker.com/r/3cky/telegram-uploader-bot)\n[![Docker Stars](https://img.shields.io/docker/stars/3cky/telegram-uploader-bot?label=Stars\u0026logo=docker\u0026style=for-the-badge)](https://hub.docker.com/r/3cky/telegram-uploader-bot)\n\nTelegram bot written in Go that monitors directories for new files and uploads them to chats.\n\n## Features\n\n- Monitors specified directories for new files and uploads them to Telegram chats.\n- Supports multiple directories and chats configuration.\n- Can add custom tags to uploaded files using plain text tags, regexps, or [expr](https://github.com/antonmedv/expr) language.\n- File filtering using file masks.\n\n## Prerequisites\n\n- Go (v1.20 or higher) installed on your Linux system.\n- A Telegram bot token obtained by creating a new bot using [BotFather](https://core.telegram.org/bots#how-do-i-create-a-bot).\n\n## Installation\n\n```bash\ngit clone https://github.com/3cky/telegram-uploader-bot.git\ncd telegram-uploader-bot\nmake install\n```\n\n## Configuration\n\nThe bot uses a YAML config file set by `-c` or `--config-file` flags. The default config file is \"/usr/local/etc/telegram-uploader-bot.cfg\".\n\nTo use a custom configuration file, run the bot with the `-c` flag followed by the path to your config file:\n\n```bash\ntelegram-uploader-bot -c /path/to/custom_config.cfg\n```\n\nExample configuration:\n\n```yaml\ntelegram:\n  token: \"my-telegram-bot-token\"\n\nuploads:\n  - directory: \"/path/to/watch/dir\"\n    files:\n      - \"*.jpg\" # file name match by the mask is case insensitive\n    document: false # set to true to upload files as documents (without reencoding)\n    min_size: 0 # min file size limit to upload (default is 0 - no limit)\n    max_size: 50 MB # max file size limit to upload (default is 50 MB)\n    chat: 1234567\n    tags:\n      plain:\n        - \"work\"\n        - \"important\"\n      regexp:\n        - \".*/(?P\u003cname\u003e.*)\\\\.jpg\" # matched groups will be used as tags prefixed by group names\n      expr:\n        - \"(file.Size() \u003e 1024 * 1024) ? 'big' : ''\" # tag files bigger than 1 megabyte\n```\n\n## Docker\n\nYou can launch the **telegram-uploader-bot** in Docker container with the following command:\n\n```shell\ndocker run -d \\\n    --name=telegram-uploader-bot \\\n    -v /path/to/config.cfg:/usr/local/etc/telegram-uploader-bot.cfg \\\n    -v /path/to/watch/dir:/path/to/watch/dir \\\n    3cky/telegram-uploader-bot\n```\n\nWhere:\n\n  - `/path/to/config.cfg`: path to telegram-uploader-bot config file in the local filesystem.\n  - `/path/to/watch/dir`: directory to monitor by telegram-uploader-bot, must match uploads directory in config file.\n\nMake sure config file and watched directory are readable by user `nobody`:`nogroup`.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## License\n\ntelegram-uploader-bot is released under the Apache 2.0 license. See the [LICENSE](https://github.com/3cky/telegram-uploader-bot/blob/main/LICENSE) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3cky%2Ftelegram-uploader-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3cky%2Ftelegram-uploader-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3cky%2Ftelegram-uploader-bot/lists"}