You need to create a file named config.yaml
inside bot/usercontent/
.
That file's contents have to look something like this:
warningChannel: # The snowflake ID of the discord channel where the warnings would be sent to
token: # Your bot's discord token
genius_token: # A Genius.com token for lyrics (https://genius.com/api-clients/new)
reddit: # Here are the Reddit configs (https://www.reddit.com/prefs/apps/)
client_id: # 14-character string under "personal use script"
client_secret: # 27-character string under "secret"
password: # The password for the Reddit account used for said application
user_agent: # The user-agent for the application (should follow this format: <platform>:<app ID>:<version string> (by /u/<reddit username>))
username: # The username of the Reddit account used for said application
dev_role: # NAME of the developer role used to access the dev cog
default_settings: # Default settings
pic_cooldown: # cooldown between pic commands IN SECONDS
pic_cooldown_bool: # If it should display a cooldown message for pic commands
echo_cooldown: # cooldown between echo commands IN SECONDS
prefix: # the bot prefix you want
Then you just need to start the bot by running bot/main.py
in a terminal.
It will create some files it needs, and then you're good to go!
This template has been made for RaspberryPis, and has the highest possibility of NOT breaking on Raspbian. It will probably run fine on any Debian-based distro too, but I wouldn't recommend running this on Windows, since some commands do require bash (i.e. checking the system uptime).
The whole entirety of this project is under the GNU General Public License v3, except any files that state otherwise.
This project requires that your machine has some prerequisites installed:
discord.py by Rapptz as a Discord API wrapper,
yt-dlp by yt-dlp as a way to get music from streaming services,
FFmpeg/FFprobe by the FFmpeg team to stream the media through the bot,
AGenius.py by dopebnan, to load the lyrics of songs,
Async PRAW by praw-dev, to access reddit via python,
PyYAML by YAML, to load .yaml
files.
Also note that this project, despite using multiple libraries and/or modules, doesn't ship any of them with it. Any modules that this project uses belong to their respective owners, with their respective licenses. If you wish to use this code, you must agree to those libraries'/modules' licenses.