{"id":25883264,"url":"https://github.com/mrdoodeth/virustotaltgbot","last_synced_at":"2025-10-26T19:10:59.356Z","repository":{"id":271100270,"uuid":"879801461","full_name":"MrDoodeth/VirusTotalTGBot","owner":"MrDoodeth","description":"Telegram bot in Java for scanning files for viruses using the VirusTotal API.","archived":false,"fork":false,"pushed_at":"2025-01-26T16:36:49.000Z","size":146,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T16:39:46.151Z","etag":null,"topics":["antivirus","bot-development","cybersecurity","file-scanning","java","malware-detection","security-tools","telegram-bot","url-scanning","virustotal-api"],"latest_commit_sha":null,"homepage":"","language":"Java","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/MrDoodeth.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":"2024-10-28T15:14:40.000Z","updated_at":"2025-01-26T16:37:05.000Z","dependencies_parsed_at":"2025-01-05T14:33:43.965Z","dependency_job_id":"c5f9db2e-ee9e-472f-b317-df2405a7cd50","html_url":"https://github.com/MrDoodeth/VirusTotalTGBot","commit_stats":null,"previous_names":["mrdoodeth/virustotaltgbot"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/MrDoodeth/VirusTotalTGBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDoodeth%2FVirusTotalTGBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDoodeth%2FVirusTotalTGBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDoodeth%2FVirusTotalTGBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDoodeth%2FVirusTotalTGBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrDoodeth","download_url":"https://codeload.github.com/MrDoodeth/VirusTotalTGBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrDoodeth%2FVirusTotalTGBot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281156757,"owners_count":26453116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["antivirus","bot-development","cybersecurity","file-scanning","java","malware-detection","security-tools","telegram-bot","url-scanning","virustotal-api"],"created_at":"2025-03-02T16:33:21.231Z","updated_at":"2025-10-26T19:10:59.337Z","avatar_url":"https://github.com/MrDoodeth.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VirusTotalTGBot\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width='1900' src=\".github/logo.png\" alt=\"logo\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/11-blue.svg?style=flat\u0026label=Java\" alt=\"license\" style=\"height: 20px;\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Apache%202.0-blue.svg?style=flat\u0026label=License\" alt=\"license\" style=\"height: 20px;\"\u003e\n  \u003c/a\u003e\n  \u003cimg src='https://img.shields.io/github/stars/MrDoodeth/VirusTotalTGBot?label=Stars\u0026style=flat\u0026color=FFB31A' /\u003e        \n  \u003cimg src='https://img.shields.io/github/followers/MrDoodeth?label=Follow\u0026style=flat\u0026color=FFB31A' /\u003e\n\u003c/p\u003e\n\n🦠**VirusTotalTGBot**👾 is a simple Telegram bot that uses the VirusTotal API to scan files and links. It provides\ndetailed\nscan\nreports from over 70 antivirus services. The bot can be deployed on any server, making it ideal for checking suspicious\nfiles and links directly from your favorite messenger.\n\n## ✨ Features\n\n1. **🔢 File and Link Scanning:** Scan files (up to 20 MB) and links using the VirusTotal API.\n2. **👤 User ID Collecting:** Receive a file containing the IDs of all users interacting with the bot.\n3. **🔒 Subscription Verification:** Before using the bot, make sure that users are subscribed to the 4 specified\n   channels.\n4. **🗨️ Blacklist Management:** Add users to a blacklist to restrict their access.\n\n## 📝 Installation\n\n### ⚙️ Requirements\n\n- **Java 11** is required to run the program. You can download\n  it [here](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html).\n- **IntelliJ IDEA Community Edition** is recommended for editing the source code. You can download\n  it [from the official site](https://www.jetbrains.com/idea/download/).\n\n### 🤖 BotFather\n\nFirst, you need to create a bot using [BotFather](https://t.me/BotFather).\n\n### 💾 Downloading\n\n1. Download the bot [archive](https://github.com/MrDoodeth/VirusTotalTGBot/releases) (e.g.,\n   `VirusTotalTGBot-1.0.0-archive.tar.gz`) and unpack it to a directory of your choice.\n2. ️Open the directory in your terminal.\n\n### 📋 Config Editing\n\nTo use the bot, you will need your **User ID** and **Channels IDs**. Use [this bot](https://t.me/getmyid_bot) to\nget them:\n\n- Forward a message from a channel to get its chat ID.\n- Edit `config.json` to update the required fields.\n\n### 🛠 Environment variables\n\nBefore entering commands, you first need to become a **ROOT**. Enter `sudo su` on Linux or run cmd as an administrator\nin Windows.\n\n- **TG_BOT_API**: Your Telegram Bot API token. Obtain it from [BotFather](https://t.me/BotFather).\n- **TG_BOT_NAME**: The name of your Telegram Bot (e.g., `@BotName`).\n- **VT_API**: Your VirusTotal API token. Register at [VirusTotal](https://www.virustotal.com) to get it.\n\nUse the following commands to set these variables for the current terminal session:\n\n#### Linux/MacOS\n\n   ``` bash\n   export TG_BOT_API=\"\u003cTelegram Bot API Token\u003e\"\n   export TG_BOT_NAME=\"\u003cTelegram Bot Name (@name)\u003e\"\n   export VT_API=\"\u003cVirusTotal API Token\u003e\"\n   ```\n\n#### Windows\n\n   ``` cmd\n   set TG_BOT_API=\u003cTelegram Bot API Token\u003e\n   set TG_BOT_NAME=\u003cTelegram Bot Name (@name)\u003e\n   set VT_API=\u003cVirusTotal API Token\u003e\n   ```\n\n### 🚀 Start\n\nTo start the bot, run the following command:\n\n#### Linux/MacOS\n\n`java -cp \"bin/\u003cjar-archive-name\u003e.jar:lib/*\" com.MyDo.Program`\n\n#### Windows\n\n`java -cp \"bin\\\u003cjar-archive-name\u003e.jar;lib\\*\" com.MyDo.Program`\n\nIf everything is configured correctly, you should see the following output:\n\n`\u003ctime\u003e [main] INFO  com.MyDo.Program - Bot started`\n\n## 🔍 How to Use\n\n### 🛡️ File and Link Analysis\n\nSimply send a file or link to check for potential threats.  \n**Limit**: The file size should be up to 20 MB.\n\n### 🖥️ Admin Panel\n\n![image1.png](.github/image1.png)\n\nTo access the panel, you must add your **User ID** to the `admin-id` field in `config.json`. Send `/admin` in chat to\nopen the **Admin Panel**, where you can:\n\n- Download a file containing all user IDs.\n- Toggle subscription checking for specified channels.\n\n### ⛔ Blacklist\n\nYou can block multiple users by adding their IDs to `config.json`. Blacklisted users will be unable to use the bot until\ntheir IDs are removed.\n\n### 📥 Subscription Checking\n\nThis feature is enabled by default but can be disabled in the **Admin Panel**.  \nTo set it up properly:\n\n1. Update the **URLs** and **IDs** in the `chats` section of `config.json`.\n2. Add your bot as an administrator in the specified channels.\n\nAfter completing these steps, the subscription check will work correctly.\n\n## 🤝 Contribution\n\nFeel free to use, modify, and improve this project as you see fit. I welcome any changes or enhancements you wish to\nmake.\n\n## 📊 Third-Party Libraries\n\n1. [**Telegram API**](https://github.com/rubenlagus/TelegramBots)\n2. [**Jackson JSON**](https://github.com/FasterXML/jackson-databind)\n3. [**SLF4J**](https://github.com/qos-ch/slf4j) и [**Logback Classic**](https://github.com/qos-ch/logback)\n\n## 🗃️ License\n\nThis project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrdoodeth%2Fvirustotaltgbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrdoodeth%2Fvirustotaltgbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrdoodeth%2Fvirustotaltgbot/lists"}