The Ochulus is a simple personal discord bot used for tracking games completed during a 100 Game Challenge.
- Node.js (version v21.2.0 or later)
- npm (version 10.2.3 or later)
- Discord Developer Application
- IGDB Developer Application
- Create accounts and install software
- Create
.env
using.env.template
- Populate
discordClientId
,discordGuildId
anddiscordToken
with your Discord Developer Application details. - Populate
igdbClientId
andigdbClientSecret
with your IGDB Developer Application details.
- Populate
- Run
npm install
to install Node Packages - Run
node .\dbInit.js
to create database. - Run
node .\deploy-commands.js
to deploy commands to your guild - Run
node .\index.js
to run the bot.
A list of current commands that can be accessed by all users.
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.
Show a list of games the user has beaten.
Parameters:
- Optional
user
- The username of a user to check.
Show the list of games the user are currently playing.
Parametes:
- Optional
user
- The username of a user to check.
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.
Deletes a game from the users planned games.
Parametes:
- Optional
currentgamenumber
- The number of the current game entry to delete.
Deletes a game from the users currently playing games.
Parametes:
- Optional
currentgamenumber
- The number of the current game entry to delete.
Get an estimated date as to when a user will finish the 100 games challenge.
Parametes:
- Optional
user
- The username of a user to check.
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.
Show a list of all games beaten for the 100 games challenge in chronological order.
Get info on the bot.
Shows the leaderboard for the 100 Game Challenge.
Log a planned game into a list of planned games.
Parameters:
Note: One parameter is required.
- Required
gamename
- The name of the game.gameid
- The IGDB game ID.
Show a list of games the user has planned.
Parameters:
- Optional
user
- The username of a user to check.
Responds "och".
Get a random game from the IGDB database.
Parameters:
- Optional
madness
- Remove restrictions on the games the bot can search for.
Get a random planned game from the list of a users planned games.
Parameters:
- Optional
user
- The username of a user to check.
Get the most recent game a given user has beaten.
Parameters:
- Optional
user
- The username of a user to check.
Get the most recent game a given user has planned.
Parameters:
- Optional
user
- The username of a user to check.
Get the most recent game a given user has started playing.
Parameters:
- Optional
user
- The username of a user to check.
Manually registers the user into the 100 Games Challenge.
Searches the IGDB database for a list of matching games.
Parameters:
- Required
gamename
- The name of the game.
Log a game into a list of currently playing games.
Parameters:
Note: One parameter is required.
- Required
gamename
- The name of the game.gameid
- The IGDB game ID.
Get the users info for the 100 Game Challenge
Parameters:
- Optional
user
- The username of a user to check.