Gojo_Satarou

------
**A python and [pyrogram](https://github.com/iamgojoof6eyes/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 update and sending pull requests**
---------
## Inspiration ✨
`Not a particular inspiration, inspired by many bots`
```
This bot is mixture of the many bots and have some extra plugins so it is quite better than other bots.
```
---------
## Group Management
The Gojo Satarou is a powerful Group Management bot.
Can be found on telegram as a management bot for groups.
**If you counter any problem or face any bugs for help join 🌟 [Gojo Updates](https://t.me/gojo_updates) 🌟 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://t.me/iamgojoof6eyes)__***
---------
# 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/iamgojoof6eyes/Gojo_Satarou.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/iamgojoof6eyes/Gojo_Satarou/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_Satarou ***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 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/iamgojoof6eyes/Gojo_Satarou.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`
## 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.
To get a list of all variable click [here](https://telegra.ph/Captain-03-27)
---------
# Adding your own plugin
To add your very own plugin just use the format given below and go through the [utils](https://github.com/iamgojoof6eyes/Gojo_Satarou/blob/master/Powers/utils) and [custom_filters](https://github.com/iamgojoof6eyes/Gojo_Satarou/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("")) # Pass additional filters if you need
async def ():
'''use logger to add log info using LOGGER.info() in the platfrom on which bot is running
and error as LOGGER.error() and after LOGGER.error() use
LOGGER.error(format_exc())'''
__PLUGIN__ = # Pass the name of your plugin as string
_DISABLE_CMDS_ = [] # Use this if you want that the command can't be used in supergroups
__alt_name__ = [] # Use this for the command that can be used in groups as well as supergroup
__HELP__ = # 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/iamgojoof6eyes/Gojo_Satarou/tree/master/Powers/plugins) section
## **Note** : Don't use <> this bracket while writing the code...
--------
# Special Thanks ❤️
[PSYREX](https://github.com/iamPSYREX)
---------
# Powered by [HELL](https://github.com/The-HellBot)
[](https://github.com/The-HellBot)