MissKatyPyro
August 7, 2026 ยท View on GitHub
- I will not give any support to your fork, so try learn by yourself!! Don't contact me because of your fault.
Table of Contents
- [1] About MissKaty
- [2] Framework Tools And Server That Used To Build This Bot
- [3] Support Creator
- [4] Notes
- [5] Features
- [6] Variables
- [7] Deploying Tutorial
- [8] Credits
- [9] Disclaimer
- [10] Changelog
[1] About MissKaty
MissKaty is a Telegram Bot built using Python and the Pyrogram library. Many useful features for us to use. I hope that one day this project will be discontinued, someone will continue or develop it again. I gave the name MissKaty because I like cats, a cute animal that likes to be played with and friendly with humans.
[2] Framework Tools And Server That Used To Build This Bot
๐ฑ KuriGram
๐ฑ Python 3.13 Support
๐ฑ MongoDB as Database
๐ฑ PyKeyboard for Building Pagination
๐ฑ VS Code
๐ฑ VPS/Server With Root and Docker Support (Recommended)
[3] Donation and Support
For Indonesian Only and some supported country:
๐ฑ QRIS
For International Payment:
๐ฑ Paypal
[4] Notes
If you want help me fixing some error in my bot, you can make pull request to this repo. I'm very glad if you can help me. You can also give support to me for buying server.
[5] Features
| FEATURE MY BOT | ๐ฑ |
|---|---|
| Basic Admin Feature (ban, kick, mute, warn, promote, purge, dll) | โ๏ธ |
| AFK Feature | โ๏ธ |
| Downloader FB, TikTok and YT-DLP Support (AVC + AAC output) | โ๏ธ |
| YT Search & Quality Picker (resolution, bitrate, codec) | โ๏ธ |
| MultiLanguage Support (en-US, id-ID, id-JW, ru-RU) | โ๏ธ |
| NightMode | โ๏ธ |
| ChatBot based on OpenAI and Google Bard | โ๏ธ |
| MissKaty Mata | โ๏ธ |
| Inline Search | โ๏ธ |
| Sticker Tools | โ๏ธ |
| PasteBin Tools | โ๏ธ |
| WebScraper (Pahe, MelongMovie, LK21, Terbit21, Kusonime, etc) | โ๏ธ |
| IMDB Search With Rich Message & Multi Language Per User | โ๏ธ |
| GenSS From Media and MediaInfo Generator (Partial Analysis, no full download) | โ๏ธ |
| And Many More.. | โ๏ธ |
[6] Variables
Required Variables
BOT_TOKEN: Create a bot using @BotFather, and get the Telegram API token.API_ID: Get this value from telegram.orgAPI_HASH: Get this value from telegram.orgDATABASE_URI: mongoDB URI. Get this value from mongoDB.LOG_CHANNEL: A channel to log the activities of bot. Make sure bot is an admin in the channel.
Optional Variables
YT_COOKIES: Get YT cookies using https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1 and save cookies value on github gist. Copy raw url and fill in this vars.USER_SESSION: Session string for Userbot.DATABASE_NAME: Name of the database in MongoDBPAYDISINI_KEY: Api Key PayDisiniPAYDISINI_CHANNEL_ID: Channel ID QRIS paydisiniCOMMAND_HANDLER: List of handler bot command splitted by space. Ex:. !> so bot will respond with.cmdor!cmdSUDO: User ID that have access to bot, split by spaceOPENAI_API: Create personal access token from github, and set as this env. Make sure you have access to Github Model.GOOGLEAI_KEY: Learn how to get api key from this https://ai.google.dev/tutorials/python_quickstart?hl=en.CURRENCY_API: Get API Key from https://app.exchangerate-api.com/sign-upNINE_ROUTER_API_KEY: API key for the 9Router gateway used by/aiand/askchatbot commands (OpenAI-compatible API). Required for ChatBot plugin.NINE_ROUTER_BASE_URL: 9Router base URL. Defaulthttps://9router.yasirweb.eu.org/v1(optional).NINE_ROUTER_MODEL_AI: Model used by/ai. Defaultoc/mimo-v2.5-free(optional).NINE_ROUTER_MODEL_ASK: Model used by/ask& guest mode. Defaultoc/deepseek-v4-flash-free(optional).
[7] Tutorial Deploy (Recommended using Docker/Docker Compose)
Build And Run Using Legacy Method
- Make sure minimum python version is 3.8 and max python 3.12 to prevent some errors. Check it with this command:
python3 --version
- Install all dependency that needed bot to run. (need root access, you can skip this if your server didn't have root access but some plugins will not work)
apt update -y & apt install libjpeg-dev zlib1g-dev libwebp-dev python3-pip python3-lxml git wget curl ffmpeg locales tzdata neofetch mediainfo speedtest-cli -y
- Install requirements.txt, if using python => 3.11, you need use venv when install pip package.
Python < 3.10
pip3 install -r requirements.txt
Python => 3.11
python3 -m venv nama_venv
source nama_venv/bin/activate
pip3 install -r requirements.txt
- Setting your config.env or via environment and dont forget fill all required value.
- Run Bot
bash start.sh
Build And Run Using Docker
- Start Docker daemon (Skip if already running):
sudo dockerd
- Build Docker image:
sudo docker build . -t misskaty
- Run the image:
sudo docker run misskaty
- To stop the image:
sudo docker ps
sudo docker stop <pid>
Build And Run The Docker Image Using docker-compose
- Install docker-compose
sudo apt install docker-compose
- Build and run Docker image or to view current running image:
sudo docker-compose up
- After editing files with nano for example (nano start.sh):
sudo docker-compose up --build
- To stop the running image:
sudo docker ps
sudo docker-compose stop <pid>
[8] Thanks to
- Thanks To Allah Swt.
- Thanks To Dan For Pyrogram Library as founder of pyrogram.
- Thanks To Mayuri For Pyrofork Library as owner of pyrofork library.
- Thanks To TeamDrivecok and SecretGroup TBK in Telegram.
- Thanks To The Hamker Cat For WilliamButcher Code.
- Thanks To Team Yukki For AFK Bot Code.
- Thanks To Wrench For Some Code.
- Thanks To AmanoTeam For MultiLanguage Template.
- And All People Who Help Me In My Life... If your code used in this repo and want to give credit please open issue..
[9] Disclaimer

Licensed under GNU AGPL 2.0.
WARNING: Selling The Codes To Other People For Money Is Strictly Prohibited. Or i will stop this project forever.
[10] Changelog
v2.17.0 (2026-08-07)
Built on top of the Kurigram fork (KurimuzonAkuma/pyrogram), which adds rich-message support (InputRichMessage, rich_message on send/edit) and Client.get_file with offset/limit for partial downloads.
Refactor & performance
- Moved root-level
utils.pyandweb/webserver.pyinto themisskatypackage (helper/,core/) so everything lives under one package. - Single shared MongoDB connection (singleton + lazy init) instead of multiple
AsyncMongoClientinstances; removed circular imports betweendatabaseandmisskaty. - Bootstrapping moved to
misskaty/core/bootstrap.py; yt-dlp cookies are fetched asynchronously at startup (no more blockingrequests.geton import).
IMDb
- Results are now delivered as rich messages via edit (
edit_message_text+rich_message) instead of delete-then-send. - Merged duplicated
imdbres_id/imdbres_encallbacks into one builder with per-locale labels; fixed hidden-layout fields and mixed-language labels.
Admin
- Fixed real bugs (
contextlibmissing import,FloodWait e.x,time_converterreturning aMessage, wrong locale key) and hardened edge cases (channel replies, deleted accounts, missingfrom_user). - Messages restyled with emoji + separators in all 4 locales.
YT-DLP
- Progress no longer jumps backwards on merged formats; shows elapsed time, ETA, speed and a monospace progress bar; detects the "Finalizing" phase.
- Captions use monospace blocks and mention the requester; title whitespace is normalized (no more double line breaks).
/ytdownnow requires a URL argument or a replied message containing a URL.- Video output prefers H.264 (AVC) video + AAC audio (fallback to best available), audio extraction uses AAC.
MediaInfo
- Partial analysis: only the first/last 8 MiB are downloaded (
upload.getFileoffset/limit), so 2โ4 GB files are analyzed in seconds; falls back to a full download automatically when the partial result is incomplete.
v2.16.1 (previous)
- Fix: use plain emoji on nightmode button (premium-safe).