Skip to content

Moonrise55/Mbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A discord bot with tools and automatic puzzlehunt progress tracking for a small to medium sized team. For fun, the bot is named after a character from the works of Brandon Sanderson.

Puzzle Manager

Puzzle progress stored in a master "Nexus" google sheet.

  • With a !createround command: create a new category, general channel, voice channel, update nexus
  • With one puzzle !create command: create puzzle channel, duplicate template google sheet, update nexus sheet, send links to discord
  • Log answer in nexus sheet with !solve
  • View and update !login info for team
  • View puzzle progress in !nexus
  • Store and update common resources in !tag

Example of auto-populated nexus sheet (answers removed) example

Toolbox

  • !n: Nutrimatic for anagrams, regex search, patterns, etc
  • !cc: Caesar shift
  • !alpha: Alphanumeric A1Z26
  • !atom: Periodic table
  • !atbash: Atbash cipher
  • !v: Vigenere cipher

Bot setup

The setup relies on a Google service account and a AWS DynamoDB connection.

  1. Create a .env with your tokens.
DISCORD_TOKEN= ...   # your discord bot token
GOOGLE_CLIENT_SECRETS=...   # google service account credentials
AWS_ACCESS_KEY_ID= ...
AWS_SECRET_ACCESS_KEY= ...
  1. Enable Google API following instructions on gspread documentation to get a client_secrets.json for a service account.
  2. Initialize two tables in DynamoDB. Unfortunately I don't have a standalone init script for this, but the code used is commented out in utils/db2.py.
  3. [Per hunt] Set up a google folder (shared w/ service account address) with Nexus and Puzzle Template sheets.
  4. Feel free to message me for details/help.

About

A discord bot with tools and puzzle progress tracking for puzzlehunts.

Topics

Resources

License

Stars

Watchers

Forks

Languages