ReVot
Reverse Image Search Telegram Bot Using MS Azure/Local (server maybe off)
Install / Use
/learn @c0sm0void/ReVotREADME
<a id="top"></a>
<div align="center"> <h1 align="center" style="display: block; font-size: 3em; font-weight: bold; margin-block-end: 1em;"><strong>ReVot<img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis/main/Smileys/Robot.webp" alt="Robot" width="30" height="30" /></strong></h1> <p>Reverse Image Search Telegram Bot Using MS Azure/Local (server maybe off) <table align="center"> <thead align="center"> <tr border: 1px;> <td><b>🌟 Stars</b></td> <td><b>🍴 Forks</b></td> <td><b>🐛 Issues</b></td> <td><b>🔔 Open PRs</b></td> <td><b>🔕 Close PRs</b></td> <td><b>🛠 Languages</b></td> <td><b>🌐 Contributors </b></td> </tr> </thead> <tbody> <tr> <td><img alt="Stars" src="https://img.shields.io/github/stars/c0sm0void/ReVot?style=flat&logo=github"/></td> <td><img alt="Forks" src="https://img.shields.io/github/forks/c0sm0void/ReVot?style=flat&logo=github"/></td> <td><img alt="Issues" src="https://img.shields.io/github/issues/c0sm0void/ReVot?style=flat&logo=github"/></td> <td><img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/c0sm0void/ReVot?style=flat&logo=github"/></td> <td><img alt="Close Pull Requests" src="https://img.shields.io/github/issues-pr-closed/c0sm0void/ReVot?style=flat&color=critical&logo=github"/></td> <td><img alt="GitHub language count" src="https://img.shields.io/github/languages/count/c0sm0void/ReVot?style=flat&color=critical&logo=github"></td> <td><img alt="GitHub contributors" src="https://img.shields.io/github/contributors/c0sm0void/ReVot?color=2b9348"></td> </tr> </tbody> </table> </div> <br> <p> <img src="http://forthebadge.com/images/badges/made-with-python.svg"/> <img src="http://forthebadge.com/images/badges/license-mit.svg"/> <a href="https://t.me/ReVot_Local_Bot"> <img src="https://img.shields.io/badge/Telegram%20ReVot%20Bot-blue?style=for-the-badge&logo=telegram&color=302d41&logoColor=0088CC" alt="Contact"/> </a> <table align="center"> <thead align="center"> <tr border: 1px;> <td><b>☁️ Cloud</b></td> <td><b>🐧 OS</b></td> <td><b>💻 Terminal</b></td> <td><b>📦 PyPI</b></td> <td><b>❤️ Open Source</b></td> </tr> </thead> <tbody> <tr> <td><img src="https://badgen.net/badge/icon/azure?icon=azure&label"></td> <td><img src="https://img.shields.io/badge/OS-Linux-informational?style=flat&logo=linux&logoColor=white&color=2bbc8a"></td> <td><img src="https://badgen.net/badge/icon/terminal?icon=terminal&label"></td> <td><img src="https://badgen.net/badge/icon/pypi?icon=pypi&label"></td> <td><img src="https://img.shields.io/badge/open%20source-%E2%9D%A4%EF%B8%8F-green"></td> </tr> </tbody> </table> </div><details> <summary><h2>:sparkles:Table of Contents:</h2></summary> </details> <hr>
How To Use Me: <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis/main/Smileys/Alien%20Monster.webp" alt="Alien Monster" width="25" height="25" />
Send me images, gifs or stickers(non-animated), I will send you direct reverse image search links of IQDB, Google, TinEye, Yandex and Bing. For anime images IQDB and TinEye, for other images, I recommend using Google, Bing and Yandex.
Features: <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Travel%20and%20places/Roller%20Coaster.png" alt="Roller Coaster" width="25" height="25" />
- Give you image reverse search links
- Supports normal images like JPG, PNG, WEBP
- Supports stickers
- Supports GIFs (can take some time till the GIFs are ready)
Commands:🧩
- /help, /start: show a help message with information about the bot and its usage.
- /best_match URL: Search for the best match on TinEye (and IQDB when nothing is found on TinEye). The
URLis a link to an image
Local installation: <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/People%20with%20professions/Technologist%20Light%20Skin%20Tone.png" alt="Technologist Light Skin Tone" width="25" height="25" />
With this info, we now install our virtual environment with (check pre-installations file):
chmod +x pre-installations.sh
./pre-installations.sh
pip install pipenv # Install pipenv
pipenv --version
git clone https://github.com/c0sm0void/ReVot.git
cd /ReVot
pipenv shell
pipenv install # Install all requirements
You have to get an API Token from Telegram. You can easily get one via the @BotFather.
Now that you have your API Token, create a settings.py file and add one of the configurations below based on your preferred uploading method.
Option 1: SSH Uploader
If you want to upload files using SSH, use the following configuration in your settings.py:
TELEGRAM_API_TOKEN = 'Tel Bot Token By @BotFather'
UPLOADER = {
'uploader': 'reverse_image_search_bot.uploaders.ssh.SSHUploader',
'url': 'Host Domain Name',
'configuration': {
'host': 'Host IP (PUBLIC)',
'user': 'Yourname',
'password': 'Password',
'upload_dir': '/path/to/ReVot/',
'key_filename': '/path/to/.ssh/rsakey.pub (Public key)',
}
}
Option 2: File System Uploader
If you prefer to upload files from your local file system, use the following configuration in your settings.py:
TELEGRAM_API_TOKEN = 'Tel Bot Token By @BotFather'
UPLOADER = {
'uploader': 'reverse_image_search_bot.uploaders.file_system.FileSystemUploader',
'url': 'Host Domain Name',
'configuration': {
'path': '/path/to/ReVot/',
}
}
Finally, you can use this to start your bot.
python run_bot.py
Errors and Fixes:❌
- Use Python v3.12 as default
- ssh-keyscan -H <IP address/Hostname> >> ~/.shh/known_hosts
- sudo -H pip install -U pipenv
Techstack
Programming Language:
- Python 3.12+
Libraries:
- pipenv: For virtual environment and dependency management
- python-telegram-bot: For interacting with Telegram APIs
- Reverse Image Search Engines:
- Bing
- Yandex
- TinEye
- IQDB
Platform:
- MS Azure for hosting
- Ubuntu virtual machine for hosting
ReVot/
│
├── .github/ # GitHub-specific files
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md # Template for reporting bugs
│ ├── custom.md # Custom issue template
│ └── feature_request.md # Template for requesting features
│ │
│ └── workflows/ # Directory for GitHub Actions workflows
│ ├── greetings.yml # Workflow for greeting new contributors
│ └── labeler.yml # Workflow for auto-labeling pull requests and issues
│
├── deploy/ # Deployment scripts and configurations
│ └── after_push # Post-deployment scripts
│
├── reverse_image_search_bot/ # Main bot directory
│ ├── images/ # Sample image for demonstration
│ │ └── example_usage.png # Example bot usage
│ │
│ ├── uploaders/ # Uploader modules
│ │ ├── __init__.py # Initialize uploaders package
│ │ ├── base_uploader.py # Base class for uploaders
│ │ ├── file_system.py # File system operations
│ │ └── ssh.py # SSH related functions
│ │
│ ├── __init__.py # Initialize bot package
│ ├── bot.py # Main bot logic
│ ├── commands.py # Command handling for the bot
│ ├── image_search.py # Functions for reverse image search
│ ├── settings.example.py # Example settings file for API tokens
│ ├── settings.example1.py # Another example settings file
│ ├── settings.py # Settings file
│ └── utils.py # Utility functions and helpers
│
├── .gitignore # Files and directories to be ignored by Git
├── CODE_OF_CONDUCT.md # Community guidelines and rules
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # License information
├── Pipfile # Pipenv dependencies
├── Pipfile.lock # Locked dependency versions
├── pre-installations.sh # Pre-installation
├── README.md # Main project documentation
└── run_bot.py # Script to run the bot
</details>
<hr>
License:📜
This project is licensed under the MIT License. You are free to use, modify, and distribute this software as long as the original license and copyright notice are retained.
<!-- Added Hacktoberfest 2024 and GSSoc Extended 2024 banners -->This project is now OFFICIALLY accepted for
<div align="center"> <img src="https://gssoc.girlscript.tech/GS_logo_Black.svg" alt="GSSoC 2024 Extd" width="80%"> <img src="https://hacktoberfest.com/_nextRelated Skills
gh-issues
338.0kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
83.4kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
