Go to file
baz ce2bb98351 Update README.md 2023-12-30 01:57:45 +00:00
commands Add deletegame embed 2023-12-30 01:56:05 +00:00
events Move from module to commonjs 2023-11-26 23:02:34 +00:00
models Refactor models 2023-12-18 21:55:04 +00:00
.env.template Update .env variable names 2023-12-30 00:50:23 +00:00
.eslintrc.json Move from module to commonjs 2023-11-26 23:02:34 +00:00
.gitignore Correct .gitignore 2023-12-16 20:36:35 +00:00
README.md Update README.md 2023-12-30 01:57:45 +00:00
databaseHelperFunctions.js Update deleteBeatenGameid function for new deletegame command functionality 2023-12-30 01:56:30 +00:00
dbInit.js Remove comment 2023-12-18 22:49:02 +00:00
dbObjects.js Update .env variable names 2023-12-30 00:50:23 +00:00
deploy-commands.js Update .env variable names 2023-12-30 00:50:23 +00:00
igdb.js Apply linter to igdb.js 2023-11-30 23:38:01 +00:00
igdbHelperFunctions.js Simplify getCoverURL then 2023-12-16 20:37:09 +00:00
index.js Update .env variable names 2023-12-30 00:50:23 +00:00
logo.png Update README.md 2023-12-30 01:57:45 +00:00
package-lock.json Move from module to commonjs 2023-11-26 23:02:34 +00:00
package.json Move from module to commonjs 2023-11-26 23:02:34 +00:00

README.md

The Ochulus logo

The Ochulus is a simple personal discord bot used for tracking games completed during a 100 Game Challenge.

Requirements

Software

  • Node.js (version v21.2.0 or later)
  • npm (version 10.2.3 or later)

API Keys

  • Discord Developer Application
  • IGDB Developer Application

How to deploy

  1. Create accounts and install software
    1. Download and install Node.js and npm.
    2. Create Discord Developer Application.
    3. Create IGDB Developer Application.
  2. Create .env using .env.template
    1. Populate discordClientId, discordGuildId and discordToken with your Discord Developer Application details.
    2. Populate igdbClientId and igdbClientSecret with your IGDB Developer Application details.
  3. Run npm install to install Node Packages
  4. Run node .\dbInit.js to create database.
  5. Run node .\deploy-commands.js to deploy commands to your guild
  6. Run node .\index.js to run the bot.

Commands

A list of current commands that can be accessed by all users.

/beatgame

Log a beat game towards the 100 Game Challenge.

Parameters:

Note: One parameter is required.

  • Required
    • gamename - The name of the game.
    • gameid - The IGDB game ID.

/beatlist

Show a list of games the user has beaten.

Parameters:

  • Optional
    • user - The username of a user to check.

/deletegame

Deletes a game from the users beaten games.

Parameters:

Note: If no parameter is supplied, the latest beat game is deleted.

  • Optional
    • beatgamenumber - The number of the beat game entry to delete.

/gamedetails

Get the details of a game from the IGDB database.

Parameters:

Note: Only one parameter is required.

  • Required
    • gamename - The name of the game.
    • gameid - The IGDB game ID.

/leaderboard

Shows the leaderboard for the 100 Game Challenge.

/och

Responds "och".

/recentbeat

Get the most recent game a given user has beaten.

Parameters:

  • Optional
    • user - The username of a user to check.

/register

Manually registers the user into the 100 Games Challenge.

/searchgames

Searches the IGDB database for a list of matching games.

Parameters:

  • Required
    • gamename - The name of the game.