A growing Discord bot for managing a server.
- a selfroling system
- opt-in channels, i.e. hidden channels that only appear to users after issuing a command
- restricting bot commands to certain channels
- moderation features like kicking and banning
- restricting new members' privileges until they confirm themselves
- much more to come
This is a bit of effort on the user's part, a runscript to automate this will come soon
-
Make sure you have Python 3.5 or above, as well as pip3, installed and on your PATH (this is an option you have to tick while installing). On Windows, it comes bundled with Python; on Linux, it can be acquired by downloading the package
python3-pip
-
Open a terminal in the bot's directory, by shift-clicking the background and selecting "Open command window here" or similar
-
Acquire the necessary package dependencies by executing
pip3 install -r requirements.txt
. Note that this might require root permissions on Linux systems, unless you are using a virtualenv. -
Fill out the config file (located at
config.json.example
in the repository's root directory) and rename it toconfig.json
.- Create a new application under https://discordapp.com/developers/applications/me and convert it into a bot user, using the button displayed after creation
- Place the token, revealed by clicking
click to reveal
after the token field on the previous page, into the config file - If desired, customize the command prefix and default status (
default_game
) by changing the respective values. - Should you not be familiar with SQLAlchemy or databases in general,
it is advised to not modify the
db
section of the config file. For those who want to make changes,connect_string
is the first positional parameter passed tocreate_engine
, whileoptions
is a (possibly empty, but necessary) JSON object, which will be passed as**kwargs
. - It is possible to change the log level of the bot with the
logging_level
option. The default isINFO
, which logs some informative messages like command invocations in addition to just errors. Other options areWARNING
,ERROR
andFATAL
, which do what they say, as well asDEBUG
which prints everything.
-
Run the bot with the command
python3 src
(Linux) orpython src
(Windows).