Skip to content

Discord bot that adapts Codenames gameplay to Discord

License

Notifications You must be signed in to change notification settings

KruASe76/Codenames-bot

Repository files navigation

Codenames-bot

Invite to server

Features

  • Complete Codenames gameplay adaptation to Discord text channels (in the server and in DMs)
    • Move processing according to game rules
      • Captain (DMs)
        1. bot sends captain playing field (a new field after each opened word)
        2. captain responds with their move
        3. opened words notifications
      • Team (server text channel or thread)
        1. bot sends common playing field (a new field after each opened word)
        2. any team member responds with their move (a word to open)
        3. end or continuation of the move (according to its colour)
    • Ability to finish the move (if the team is unsure which word to open next)
    • Ability to finish the game (with a voting)
  • 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

Running yourself

...if somebody even needs that

Docker

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

Pipenv

git clone https://github.com/KruASe76/Codenames-bot.git
cd Codenames-bot
pipenv install
pipenv run python main.py

Pure python 3.11

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

Stack

Original game (reference)

Codenames logo

Created by deNULL