A Discord bot written in Python to manage Nation RP servers, where users can claim and play as their own custom countries.
The following section outlines CountryBot's client-side and dev-side features.
- Sets RP date
- Keeps track of in-RP time
- Posts date reminders in a specified channel every 24 hours
- Allows users to claim a country by sending a command to fill out a dialog
- Allows admins to keep track of claims with the click of a button
- Data storage with sqlite3
- Command line interface with Fire for easy interaction with the database
- (WIP) Feature testing with unittest
Ensure that you have Python >=3.10.x before setting up your virtual environment.
- Clone this repo:
git clone https://github.com/swmorrow/CountryBot.git - Set up your virtual environment
- Navigate into the CountryBot directory and create a virtual environment
- On Linux/Mac:
$ python3.10 -m venv .venv - On Windows:
C:> py -m venv .venv
- On Linux/Mac:
- Activate the virtual environment on your system
- On Linux/Mac:
$ source .venv/bin/activate - On Windows:
C:> .\env\Scripts\activate
- On Linux/Mac:
- Navigate into the CountryBot directory and create a virtual environment
- Install the required dependencies with pip
- On Linux/Mac:
$ pip install -r requirements.txt- if you do not have pip, do
$ python3 -m ensurepip --upgrade
- if you do not have pip, do
- On Windows:
C:> py -m pip install -r requirements.txt- if you do not have pip, do
C:> py -m ensurepip --upgrade
- if you do not have pip, do
- On Linux/Mac:
- Run the
main.pyfile- On Windows:
C:> py main.py - On Linux/Mac:
$ python3 main.py
- On Windows:
The following section is a rough outline for features to be added and a progress checker of current updates.
- "Flagify" command to convert user uploaded images to discord-style flag emojis
- Removed needs for member intents
- Fix CLI
- Help command
- Fix rpdate reposting when the bot turns off and on again bug
- Autorole users when approved
- Switch database to asyncio sqlite3
- Settings command
- Undo button for approvals/denials
- Add installation instructions to readme
- Support expansion tracking
- Support map queue tracking
- Country registration and tracking
- Warfare
