Go to file
baz cec6c1730a Move commands to deferReply/editReply workflows 2024-03-28 21:12:28 +00:00
commands Move commands to deferReply/editReply workflows 2024-03-28 21:12:28 +00:00
events Move from module to commonjs 2023-11-26 23:02:34 +00:00
models Add status to beatenGames table 2024-02-11 17:37:16 +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 Update .gitignore 2024-02-11 19:19:32 +00:00
README.md Add info command 2023-12-30 02:33:50 +00:00
convertDatabase.js Convert BeatenGames to LoggedGames 2024-02-11 19:19:43 +00:00
databaseHelperFunctions.js Add getRecentEntry databaseHelperFunction 2024-03-18 20:39:17 +00:00
dbInit.js Remove comment 2023-12-18 22:49:02 +00:00
dbObjects.js Convert BeatenGames to LoggedGames 2024-02-11 19:19:43 +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 Add automatic database backups 2023-12-30 23:38:52 +00:00
logo.png Replace logo 2023-12-31 23:39:23 +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.

/info

Get info on the bot.

/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.