From ce2bb98351d414805742a6f378185f0d66255d7e Mon Sep 17 00:00:00 2001 From: baz Date: Sat, 30 Dec 2023 01:57:45 +0000 Subject: [PATCH] Update README.md --- README.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- logo.png | Bin 0 -> 7364 bytes 2 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 logo.png diff --git a/README.md b/README.md index 49257a8..1a25257 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,107 @@ -# The Ochulus +![The Ochulus logo](logo.png) The Ochulus is a simple personal discord bot used for tracking games completed during a 100 Game Challenge. -## Requirements +# Requirements -- Todo \ No newline at end of file +## 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 + +0. Create accounts and install software + 1. [Download and install Node.js and npm](https://nodejs.org/en). + 1. [Create Discord Developer Application](https://discord.com/developers/applications). + 2. [Create IGDB Developer Application](https://www.igdb.com/api). +1. 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. +2. Run `npm install` to install Node Packages +3. Run `node .\dbInit.js` to create database. +4. Run `node .\deploy-commands.js` to deploy commands to your guild +5. 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. diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a341c25b93b350c917663697e97b7ac6e4c849d7 GIT binary patch literal 7364 zcmeHMdr(tn7EcIpLC6i%Y7|1kLl=&hPwkE-fXAz0PkPgTY`YznpM@!El2iqtSx}zpwpX-vl4b;|G%B z7$1GcdjfyB9*un^7A7dYEQirl_q6@5CLYY4grNxAkN_VpCk~|i!p0cBwd3dTmnZRZ z#&HG%*P$O~XMX(=27|XdIU)8{Y38%u`-LBV^5FV?nZ~xSuHgRZxB2V5*c;s=)0-{V zguDa8w)w%PupYt9GYnPk?2QK;eN&k1!5mX^aroXFG4h@!OU6@-$ha7DY=I%{nLK)3 zpv}#&UYla6!+PqTbCGhMY0=n}eK~$3lZVWjs<~$K7e1N5m z68_lcH!^O_kCzN&!?{_X+J4$Q*fCh8ZfOJ4THm!DtJlt#7wufmluFT&! z=?=Ee?y@#qwF<2-wGXr5I+MAUtoVgDEx)Pm@xLa}4)?4b{GD^PzESm5R?OsDFU0?$ z^pCnwwO+0hbaA8fCQqSAZ<1GBZM9j2#qG&ItA6j@xMw$#`b~yp;i=xYvhGHz z2uoQ>8w;<~m$Pt=Xw%62_;^#&q z-P@{XDpH9yrUK)6Pc6(8Jqk(L6?gf_i*MIO8>={}h20KnQ_C}r2WoA>wyIz{O1p>$=b=eXWQXbDp6nNOgOh`A6h)lxoX zV)3Q6g*T_c`97hW&;I?WQf<(^Cz-78Y^^LJe&EkG>muY42sT~Z-Q8PRI6Mwpkf}ZE zFZM?MbAY6V*r^&EyNzXi3c&JG6WTWLP+->37L~UM;PX<6l*!FA??5l?fN|K}4#}D3 zPQK;*Oj%#fC%Q5w=8N$Xc!bYHY^#S+UQx}$gK<$cxH|y%CO;7#9k18uflxg#)`)40 zrGXz`8Y8l`vF+3*B^ScWMfyN`lRPt_V8Ld~EQmu$y;VHg)*uyB|M*XlyiJ5p0kw%> zs3s5&r#JBz_Zzfe(XxB{AoM-s7n`;ZU^z8UaLk>&0onwc4W@5^HmTwiiFS~m@esmJ zzz0_XqNHnX_-?uZaFf`FUOtkiF2fMQ+5+$w4Rx_2P;uP)S%<2|F12DOtR*t?-?W- z9uGKh?4&CjgL?C)3I+#{CH{IR8{&&j_gWUppJ8$J4-4{9_FfiyBe&+%Oyt z*5$bR!I8(Unuq6Cj-_w*xoU1(R=pK4!*s#KR_pMWQ1&TrePhdLvZpk^V4KYIq2Ym; z%PL-^NqSPrIoYWQJ3tIMLX9JJuk1&frH8b(Yg+v65JBu}72wk}-8ajaHNdumM184e zHRw}3eXcruB7EH44im{=hgSnXMbt~%Rc2LDg&ioue@w0df10U_jr%M;&9U~#<{qD2 zB>-ru{@kzrEj*u#u;t6QIA=QM_deJ4pi6S_NIJx)ip>LGo42@yJDucnZ4u4Ff547_ zyzNZ-R2^KY20~F-hKseO%c#PdoBmrgeN9h9CM>!`$|eN@)V-^9WlK6;il%>cPek_S z_U7vn5{Q0jZ@bVD&b}WJ0JR|=b^c46c2cC!DWDC9)(vd&6z=6Y8n%g(%4qY3aTZIzT4nnMv_rY2S~CS-&ZW zTn6`$mV5bNj%IIhsemenBm;35Hx^_N+Kz}4MDn0;f;s{!1n7C|C2|q!B+oByG|9Y2 z+PYjpK}<8E1mp}@_M^=~SM)C6uOd+z*+J&d^i^a{h-r31*;>t+OawcT9E0p&3!H8S zA*0)4!j%j9$jZ-3*_yCagdrI&>1J34bTd@VC?NakAjD0-h@RHJ-ol|N4{2+lv7*G6 zR&b(-sS#fLxIO^ zu1Kl0{jLW`LkHWHb`(?EG!jL`vvS;4bU zTdZl@-;c{gx~gobiG{rBe|zSfjElpb|FbXPR{Pd29li{-v3xxLxnA#5 S`U-rr$Vg61N%$x(yZql{{LJY9 literal 0 HcmV?d00001