Spaces:
Paused
Paused
| <h1 align="center"> | |
| <b> Gojo_Satoru </b> | |
| <!---</h1> | |
| <h1 align="center"><img src="https://media.giphy.com/media/GL42TduR8AkNq1xRog/giphy.gif" /></h1> | |
| <h1 align="center"><img src="https://te.legra.ph/file/4bf3b88115068d41efadd.jpg" /></h1> -----> | |
| <h1 align="center"><img src="./extras/gojo_satoru__psd__by_at_yomiko_deyaec4-pre.jpg" /></h1> | |
| ------ | |
| [](https://github.com/Gojo-Bots/Gojo_Satoru/fork) | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| **A python and [pyrogram](https://github.com/Gojo-Bots/pyrogram) based group management bot for telegram. | |
| If you like the bot make sure to give a ⭐ __star__ ⭐ to this respository and feel free to updating and sending pull requests** | |
| --------- | |
| ## Inspiration ✨ | |
| Not a particular inspiration, inspired by many bots | |
| Mainly: | |
| * [Alita_Robot](https://github.com/divideprojects/Alita_Robot) | |
| * [WilliamButcherBot](https://github.com/TheHamkerCat/WilliamButcherBot) | |
| --------- | |
| ## About | |
| <h1 align="center"><img src="./extras/original.gif" /></h1> | |
| The Gojo Satoru is a powerful Group Management bot with awesome plugins and features. | |
| **If you counter any problem or face any bugs for help join 🌟 [ɢօʝօ ɮօȶֆ](https://telegram.dog/gojo_bots_network) 🌟 and then join the gc and ask your problem.** | |
| ## Features | |
| * Modern | |
| * Fast | |
| * Fully asynchronous | |
| * Fully open-source | |
| * Frequently updated | |
| ***Can be found on Telegram as __[@iamgojoof6eyes_bot](https://telegram.dog/iamgojoof6eyes_bot)__*** | |
| * Feel free to give ideas for next update. Drop your ideas [here](https://github.com/Gojo-Bots/Gojo_Satoru/discussions/new?category=ideas) | |
| ------- | |
| ## License | |
| [](https://www.gnu.org/licenses/gpl-3.0.en.html) | |
| <br>Licensed Under <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GNU General Public License v3</a> | |
| --------- | |
| # DEPLOYMENT 🚀 | |
| ## Deploy To Heroku | |
| * **Make Sure you have Heroku account** | |
| * If you don't have heroku account what are you waiting for click [here](https://id.heroku.com/login) to make one or just deploy on other platform gudie is given below | |
| * Just click on the button it will redirect you to Heroku website and deploy your bot there....enjoy 😉 | |
| [](https://heroku.com/deploy?template=https://github.com/Gojo-Bots/Gojo_Satoru.git) | |
| ------- | |
| ## Deploy To Railway | |
| [](https://railway.app) | |
| ### How To Deploy On Railway | |
| * **Make Sure You have an github account which is minimum 30 days old.** | |
| * Fork the repo by clicking [here](https://github.com/Gojo-Bots/Gojo_Satoru/fork) | |
| * Click on [deploy](https://railway.app) button | |
| * Login in railway using github account | |
| * Now search the repo in the search bar given like iamgojoof6eyes/Gojo_Satoru ***replace iamgojoof6eyes with your github username.*** | |
| * Now add the values and keys by creating values and keys ***Make sure to add keys __as per given below__ I'll advide you to just copy and paste it*** | |
| * Then wait for 10-15 minutes. | |
| * `Mandaotry` keys are [given below](#Variables) | |
| * `All keys` are listed [here](https://telegra.ph/Captain-03-27) | |
| * ***The bot can be used by provideing mandotry variables only..*** | |
| -------- | |
| ## Deploy To Okteto | |
| [](https://cloud.okteto.com/deploy?repository=https://github.com/Gojo-Bots/Gojo_Satoru) | |
| ### How To Deploy On Okteto | |
| * **Make sure you have an github account.** | |
| * [Fork](https://github.com/Gojo-Bots/Gojo_Satoru/fork) the repo and give a star to repo | |
| * Click on [deploy](https://cloud.okteto.com/deploy?repository=https://github.com/Gojo-Bots/Gojo_Satoru) button provided above... | |
| * Login using github. | |
| * Fill the values | |
| * Then wait for 10-15 minutes. | |
| * ``Mandaotry`` keys are [given below](#Variables) | |
| * ``All keys`` are listed [here](https://telegra.ph/Captain-03-27) | |
| * ***If you want to add more data of yours just go to variable section and add the key and values to it then hit on `relaunch`*** | |
| ***In case the button doesn't work just fork the repo give it a star open okteto login using github give okteto access to your github account repo search for your bot repo add the key and values provided [below](#Variables) and wait for few minutes*** | |
| -------- | |
| ## Deploy locally | |
| ### Using git | |
| * Install Python v3.7 or later from Python's Website | |
| * Install virtualenv using `python3 -m pip -U install virtualenv`. | |
| * Fork or Clone the project using `git clone https://github.com/Gojo-Bots/Gojo_Satoru.git` | |
| * Create Virtualenv using: `virtualenv venv` | |
| * Install the requirements using `python3 -m pip install -r requirements.txt` | |
| * Fill in all the variables in Development class, not Config class. Sudo, Dev, Whitelist users are optional!! | |
| * Change to virtualenv shell by using: `. venv/bin/activate (Linux) venv\Scripts\activate (Windows)` | |
| * Run the bot using `python3 -m Powers` | |
| <!---### Using docker | |
| * Clone the repo and enter into it | |
| * Install [Docker](https://www.docker.com/) | |
| * Fill in the `sample.env` file and rename it to `main.env`. | |
| * Now follow the steps: | |
| To build the docker image **(The dot '.' at last is necessary!)**: | |
| ``` | |
| docker build -t gojo_gojo_satoru:latest . | |
| ``` | |
| To run copy and paste the following commang | |
| ``` | |
| docker run --env-file main.env gojo_gojo_satoru | |
| ``` | |
| If all works well, bot should send message to the MESSAGE_DUMP Group!---> | |
| ## Variables | |
| `BOT_TOKEN` You can get your bot token at [@BotFather](https://t.me/BotFather) | |
| `API_ID` You can get your api id [here](my.telegram.org) | |
| `API_HASH` You can get your api hash [here](my.telegram.org) | |
| `PREFIX_HANDLER` Your bot handler which will activate commands | |
| `DB_URI` Your [MongoDB](https://www.mongodb.com/) connection string. | |
| <details><summary><h3>List of all variables</h3></summary> | |
| `BOT_TOKEN` You can get your bot token at [@BotFather](https://telegram.dog/BotFather) | |
| `API_ID` You can get your api id [here](my.telegram.org) | |
| `API_HASH` You can get your api hash [here](my.telegram.org) | |
| `PREFIX_HANDLER` Your bot handler which will activate commands | |
| `DB_URI` Your [MongoDB](https://www.mongodb.com/) connection string. | |
| `DB_NAME`: Your [MongoDB](https://www.mongodb.com/) database name. | |
| `OWNER_ID`: Your user ID as an integer. You can get it from [@Session_HellBot](https://telegram.dog/Session_HellBot) | |
| `SUPPORT_GROUP`: Your Telegram support group chat username where user's can contact in case of a problem. | |
| `MESSAGE_DUMP`: Event logs channel where bot will send updates. Note that id should starts with `-100` | |
| `VERSION`: A Version to be shown in bot. | |
| `PREFIX_HANDLER`: Something like '/' to execute commands. | |
| `SUPPORT_CHANNEL`: Your Telegram support channel username where user's can see updates of bot. | |
| `DEV_USERS`: ID of users who are Devs of your bot. Use space to seprate values. You can get there id's from [@Session_HellBot](https://telegram.dog/Session_HellBot) | |
| `SUDO_USERS`: A space separated list of user IDs who you want to assign as sudo users. You can get there id's from [@Session_HellBot](https://telegram.dog/Session_HellBot) | |
| `WHITELIST_USERS`: A space separated list of user IDs whitelisted, cannot be restricted. You can get there id's from [@Session_HellBot](https://telegram.dog/Session_HellBot) | |
| ⚠️ **Note:** In case you are passing more than one value seprate them using whitespace (space) for e.g. If I want to pass more than one PREFIX_HANDLER | |
| I'll pass it like `'/' '.' '!'` this. | |
| YOU CAN ALSO HAVE A LOOK AT [VARS FILE](https://github.com/Gojo-Bots/Gojo_Satoru/blob/main/Powers/vars.py) | |
| </details> | |
| --------- | |
| # Adding your own plugin | |
| To add your very own plugin just use the format given below and go through the [utils](https://github.com/Gojo-Bots/Gojo_Satoru/blob/master/Powers/utils) and [custom_filters](https://github.com/Gojo-Bots/Gojo_Satoru/blob/master/Powers/utils/custom_filters.py) | |
| ```python | |
| from traceback import format_exc | |
| from Powers.utils.custom_filters import command | |
| from Powers import LOGGER | |
| from Powers.bot_class import Gojo | |
| # All the import provided above is mandotry in case you don't want to use logger remove the first and third import | |
| # Import more funcs and module as per your need | |
| @Gojo.on_message(command("<your command>")) # Pass additional filters if you need | |
| async def <function name>(<arguments to take>): | |
| <your code> | |
| '''use logger to add log info using LOGGER.info(<string>) in the platfrom on which bot is running | |
| and error as LOGGER.error(<string>) and after LOGGER.error() use | |
| LOGGER.error(format_exc())''' | |
| __PLUGIN__ = <name of plugin> # Pass the name of your plugin as string | |
| _DISABLE_CMDS_ = [<command as string>] # Enter the commands if you want that they can be disabled if needed. | |
| __alt_name__ = [<command as string>] # Alternative name of the plugin | |
| __HELP__ = <string> # To tell about you plugin and commands you must use it | |
| # See any plugin to get more information about how to make a plugin | |
| ``` | |
| # Add plugins in [plugin](https://github.com/Gojo-Bots/Gojo_Satoru/tree/master/Powers/plugins) section | |
| ## **Note** : Don't use <> this bracket while writing the code... | |
| -------- | |
| # Contributors | |
| [](https://github.com/Gojo-Bots/Gojo_Satoru/graphs/contributors) | |
| --------- | |
| # Special Thanks ❤️ | |
| <!----<p align='left'> | |
| <a href="https://github.com/iamPSYREX"><img src="https://avatars.githubusercontent.com/u/90316018?v=4" width="300" | |
| height="300 alt="PSYREX"></a></br></br> | |
| </p>---> | |
| * [PSYREX](https://github.com/iamPSYREX) `for logos` | |
| * [PyKeyboard](https://github.com/pystorage/pykeyboard) `for pagination` | |
| * [Pyrogram](https://github.com/pyrogram/pyrogram) `library` | |
| --------- | |
| # Powered by [ɢօʝօ ɮօȶֆ](https://github.com/Gojo-Bots) | |
| <p align='left'> | |
| <a href="https://github.com/Gojo-Bots"><img src="./extras/Untitled(1).webp" width="500" | |
| height="500 alt="Gojo Bots"></a></br></br> | |
| </p> | |