The Support group can be reached out to at [SOLO•GUILD](https://t.me/JARVISUPPORT), where you can ask for help about [JARVIS](https://t.me/JARVISUPPORT),discover/request new features, report bugs, and stay in the loop whenever a new update is available.
- Your code must be open source and a link to your fork's repository must be there in the start reply of the bot. [See this](https://github.com/HeLLxGodLike/IGRIS_BOT/blob/shiken/SaitamaRobot/__main__.py#L25)
- Lastly, if you are found to run this repo without the code being open sourced or the repository link not mentioned in the bot, we will push a gban for you in our network because of being in violation of the license, you are free to be a dick and not respect the open source code (we do not mind) but we will not be having you around our chats.
<details>
<summary>Steps to deploy on Heroku !! </summary>
```
Fill in all the details, Deploy!
Now go to https://dashboard.heroku.com/apps/(app-name)/resources ( Replace (app-name) with your app name )
Note: This instruction set is just a copy-paste from Marie, note that [One Punch Support](https://t.me/OnePunchSupport) aims to handle support for @SaitamaRobot and not how to set up your own fork. If you find this bit confusing/tough to understand then we recommend you ask a dev, kindly avoid asking how to set up the bot instance in the support chat, it aims to help our own instance of the bot and not the forks.
## Setting up the bot (Read this before trying to use!):
Please make sure to use python3.6, as I cannot guarantee everything will work as expected on older Python versions!
This is because markdown parsing is done by iterating through a dict, which is ordered by default in 3.6.
### Configuration
There are two possible ways of configuring your bot: a config.py file, or ENV variables.
The preferred version is to use a `config.py` file, as it makes it easier to see all your settings grouped together.
This file should be placed in your `SaitamaRobot` folder, alongside the `__main__.py` file.
This is where your bot token will be loaded from, as well as your database URI (if you're using a database), and most of
your other settings.
It is recommended to import sample_config and extend the Config class, as this will ensure your config contains all
defaults set in the sample_config, hence making it easier to upgrade.
An example `config.py` file could be:
```
from SaitamaRobot.sample_config import Config
class Development(Config):
OWNER_ID = 254318997 # your telegram ID
OWNER_USERNAME = "SonOfLars" # your telegram username
API_KEY = "your bot api key" # your api key, as provided by the @botfather
SQLALCHEMY_DATABASE_URI = 'postgresql://username:password@localhost:5432/database' # sample db credentials
JOIN_LOGGER = '-1234567890' # some group chat that your bot is a member of
USE_JOIN_LOGGER = True
SUDO_USERS = [18673980, 83489514] # List of id's for users which have sudo access to the bot.
LOAD = []
NO_LOAD = ['translation']
```
If you can't have a config.py file (EG on Heroku), it is also possible to use environment variables.
The following env variables are supported:
-`ENV`: Setting this to ANYTHING will enable env variables
-`TOKEN`: Your bot token, as a string.
-`OWNER_ID`: An integer of consisting of your owner ID
-`OWNER_USERNAME`: Your username
-`DATABASE_URL`: Your database URL
-`JOIN_LOGGER`: optional: a chat where your replied saved messages are stored, to stop people deleting their old
-`LOAD`: Space-separated list of modules you would like to load
-`NO_LOAD`: Space-separated list of modules you would like NOT to load
-`WEBHOOK`: Setting this to ANYTHING will enable webhooks when in env mode
messages
-`URL`: The URL your webhook should connect to (only needed for webhook mode)
-`SUDO_USERS`: A space-separated list of user_ids which should be considered sudo users
-`SUPPORT_USERS`: A space-separated list of user_ids which should be considered support users (can gban/ungban,
nothing else)
-`WHITELIST_USERS`: A space-separated list of user_ids which should be considered whitelisted - they can't be banned.
-`DONATION_LINK`: Optional: link where you would like to receive donations.
-`CERT_PATH`: Path to your webhook certificate
-`PORT`: Port to use for your webhooks
-`DEL_CMDS`: Whether to delete commands from users which don't have rights to use that command
-`STRICT_GBAN`: Enforce gbans across new groups as well as old groups. When a gbanned user talks, he will be banned.
-`WORKERS`: Number of threads to use. 8 is the recommended (and default) amount, but your experience may vary.
__Note__ that going crazy with more threads wont necessarily speed up your bot, given the large amount of sql data
accesses, and the way python asynchronous calls work.
-`BAN_STICKER`: Which sticker to use when banning people.
-`ALLOW_EXCL`: Whether to allow using exclamation marks ! for commands as well as /.
### Python dependencies
Install the necessary Python dependencies by moving to the project directory and running:
`pip3 install -r requirements.txt`.
This will install all the necessary python packages.
### Database
If you wish to use a database-dependent module (eg: locks, notes, userinfo, users, filters, welcomes),
you'll need to have a database installed on your system. I use Postgres, so I recommend using it for optimal compatibility.
In the case of Postgres, this is how you would set up a database on a Debian/ubuntu system. Other distributions may vary.
The bot is based on the original work done by [PaulSonOfLars](https://github.com/PaulSonOfLars)
This repo was just revamped to suit an Anime-centric community. All original credits go to Paul and his dedication, Without his efforts, this fork would not have been possible!
Any other authorship/credits can be seen through the commits.
Should any be missing kindly let us know at [IGRIS BOT SUPPORT](https://t.me/IGRISBOTSUPPORT) or simply submit a pull request on the readme.