baz 0b3cacfdb7 | ||
---|---|---|
commands | ||
events | ||
models | ||
.env.template | ||
.eslintrc.json | ||
.gitignore | ||
README.md | ||
convertDatabase.js | ||
databaseHelperFunctions.js | ||
dbInit.js | ||
dbObjects.js | ||
deploy-commands.js | ||
igdb.js | ||
igdbHelperFunctions.js | ||
index.js | ||
logo.png | ||
package-lock.json | ||
package.json | ||
populateColumn.js |
README.md
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
- 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.
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.
/currentlyplaying
Show the list of games the user are currently playing.
Parametes:
- Optional
user
- The username of a user to check.
/deletebeatengame
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.
/deleteplannedgame
Deletes a game from the users planned games.
Parametes:
- Optional
currentgamenumber
- The number of the current game entry to delete.
/deleteplayinggame
Deletes a game from the users currently playing games.
Parametes:
- Optional
currentgamenumber
- The number of the current game entry to delete.
/estimatedfinishdate
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.
/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.
/globalbeatlist
Show a list of all games beaten for the 100 games challenge in chronological order.
/info
Get info on the bot.
/leaderboard
Shows the leaderboard for the 100 Game Challenge.
/plangame
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.
/plannedgames
Show a list of games the user has planned.
Parameters:
- Optional
user
- The username of a user to check.
/och
Responds "och".
/randomgame
Get a random game from the IGDB database.
Parameters:
- Optional
madness
- Remove restrictions on the games the bot can search for.
/randomplannedgame
Get a random planned game from the list of a users planned games.
Parameters:
- Optional
user
- The username of a user to check.
/recentbeat
Get the most recent game a given user has beaten.
Parameters:
- Optional
user
- The username of a user to check.
/recentplanned
Get the most recent game a given user has planned.
Parameters:
- Optional
user
- The username of a user to check.
/recentplaying
Get the most recent game a given user has started playing.
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.
/startplaying
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.
/user
Get the users info for the 100 Game Challenge
Parameters:
- Optional
user
- The username of a user to check.