- Complete Codenames gameplay adaptation to Discord text channels (in the server and in DMs)
- Move processing according to game rules
- Captain (DMs)
- bot sends captain playing field (a new field after each opened word)
- captain responds with their move
- opened words notifications
- Team (server text channel or thread)
- bot sends common playing field (a new field after each opened word)
- any team member responds with their move (a word to open)
- end or continuation of the move (according to its colour)
- Captain (DMs)
- Ability to finish the move (if the team is unsure which word to open next)
- Ability to finish the game (with a voting)
- Move processing according to game rules
- Multiple games on the same server
- Playing field image generation
- Per-player statistics collection
- Player top (global, within a server, within a role) - WIP
- Custom bot prefixes for servers and DMs
- Bot messages localization for servers and DMs
- 🇬🇧 English
- 🇷🇺 Russian
...if somebody even needs that
Using bash script:
curl -o run_docker.sh https://raw.githubusercontent.com/KruASe76/Codenames-bot/main/run_docker.sh
./run_docker.sh $TOKEN
Using docker directly:
docker pull kruase/codenames_bot
docker run -dti --name codenames_bot -e TOKEN="$TOKEN" -v codenames_bot_state:/bot/state kruase/codenames_bot
git clone https://github.com/KruASe76/Codenames-bot.git
cd Codenames-bot
pipenv install
pipenv run python main.py
Windows (PowerShell):
git clone https://github.com/KruASe76/Codenames-bot.git
cd Codenames-bot
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
python main.py
Linux / MacOS:
git clone https://github.com/KruASe76/Codenames-bot.git
cd Codenames-bot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.py
- python 3.11 - programming language
- discord.py (v2) as Discord API wrapper
- Pillow (PIL) for image generation
- aiosqlite for asynchronous database handling
Created by deNULL