A Discord bot that checks on if a game can be cracked or not, including checking their crack status, adding new games, and reviewing pending submissions. This bot utilizes Discord.js v14 and provides functionality for role-based access control and interactive command handling.
- Check if a game can be cracked:
/request-blacklist-info <Name of the Game>
- Add new games with reasons or submit for review:
/new-games-add <Name of the Game> <Reason>
- Review pending games:
/review-games
- Delete games:
/delete-games <Name of the Game>
- add Games by searching through steam:
/checksteam <Steam URl or SteamID>
- Included logs and easy to use
- Duplicate Detection
- Easy to use Permission Management
- Node.js v18.0.0 or later
- Discord.js v14 or later
-
Clone the Repository
git clone https://github.com/Nicoolodion/isthisnotpossible_CG.git cd isthisnotpossible_CG
-
Install Dependencies
npm install
-
Create a Configuration File
Create a
.env
file in the root directory of the project with all the IDs and the discord token stored there.The bot will use the
discord_bot_token
,uploader
,admin
,team
,expection_admin_userID
andloggingChannel
environment variables from a.env
file in the root directory. The structure of the file should be as follows:
-
SQLite Database: Stores everything in a single .db file.
depricated:
games.json
(List of games with their crack status and reasons)pending-games.json
(pending Games that need to be reviewed by Uploaders or Admins review)
Example structure:
[ { "name": "Fortnite", "cracked": false, "reason": "Online only" } ]
- /request-blacklist-info : Checks if the specified game can be cracked and provides details. Supports partial matches and lists up to 3 results.
- /new-games-add : Adds a new game with a reason. users with
@uploader
or@admin
roles directly add it to the list.@team
adds it to pending. - /review-games: Lists pending games and provides options to approve or remove them. Requires
@admin
or@uploader
role for access. - /delete-games : Deletes a game in the list. Requires
@admin
or@uploader
role for access. - /checksteam : Either automaticly adds the top 50 Games of Steam to the pending list or adds specified games by either inputting a URl or A SteamID. Requires
@admin
or@uploader
role for access.
After you edit Code you'll need to , first compile it to javascript:
npm run build
afterwards start it:
npm start
For any questions or issues, please open an issue on the GitHub repository.
Happy coding!
- [x] Upload to GitHub
- [x] Detect Duplicates and still has a force add
- [x] clean up and improve security -- Very Important
- [x] Add a moderation system (like force remove and force admin specific users)
- [x] Add logs
- [x] Make it possible to delete games from the main file.
- [x] fix "undefined" showing up when force adding new-games.add
- [x] Make the input not visible if there is none. (embed logging)
- [x] simplify the commands?
- [ ] Automaticlly writes in a Request Thread or maybe even a Ticket when it detects a Gamename that can't be cracked. or join it with the request bot
- [ ] make it show the gamename in the log when removing it using game-review
- [!] ForceAdd doesn't work using the command for uploaders and Admins (and maybe normal two?) - Removed
- [ ] improve logs
-- Development stopped due to it already being in a satisfactory state --