A Discord bot built with discord.js version 14 and written in JavaScript. This handler can load up to 4 different types of commands: Prefix, Slash, User context, and Message context. It can also handle components, including Buttons, Modals, Select menus (any type), and autocomplete.
Did you like my project? Click on the star button (⭐️) right above your screen, thank you!
- Comprehensive fishing
- Ponds, limit the amount of fish in a channel.
- Economy, shop, money
- Gacha system
- Code redemption
- Unique biomes with unique fish
- Inventory system
- Leaderboard system
- Pet / fish care / aquarium system
- Booster / buff system
- Dailies
- Encyclopedia-esque command
- Profiles
- Quests
- Statistics
- Crafting
- /help: Lists all commands.
- /leaderboard: Shows monthly leaderboard of fish caught.
- /balance: Displays your current balance.
- /open : Opens a lootbox.
- /redeem <redemption_code>: Redeems a code for both cash and item rewards.
- /shop: Displays the shop. You can also use the modal to purchase items.
- /biome: Allows you to switch your current fishing biome.
- /fish: The main fishing command, allows you to fish again and sell directly from the modal.
- /lock : Locks a fish species, preventing it from being sold or adopted.
- /sell : Sells all of your fish by rarity, alternatively you can target all instead of a specific rarity.
- /unlock : Unlocks a fish species, allowing it to be sold or adopted.
- /adopt <aquarium_name>: Adopts a fish, giving it a name and placing it in an aquarium. If you don't own an aquarium you must use the build command.
- /aquarium view: Displays all of your aquariums, their statuses and inhabitants.
- /aquarium upgrade : Upgrades your aquarium's size according to your highest license.
- /aquarium clean : Cleans your aquarium, making your fish happier. Your aquarium gets dirtier over time.
- /aquarium feed : Feed all of the fish in your aquarium. Your fish get hungrier over time.
- /aquarium adjust : Adjust the temperature of the aquarium. Your aquarium gets warmer overtime.
- /aquarium fish move <pet_name> <target_aquarium>: Moves your pet fish from one aquarium to the target aquarium.
- /build <freshwater | saltwater>: Builds an aquarium of specified name using either freshwater or saltwater.
- /pet view: Displays all of your pets and their statuses.
- /pet rename <pet_name> <new_name>: Renames one of your pet fish.
- /pet feed <pet_name>: Feeds one of your pet fish. It will get hungry over time.
- /pet play <pet_name>: Play with one of your pet fish, improving its mood and reducing stress.
- /pet sell <pet_name>: Sells your pet fish for the amount of XP it has collected.
-
/boosters: Displays your current and stored boosters. Boosters are buffs for your fishing journey.
-
/collection: A small encyclopedia for your caught species.
-
/daily: Generates a daily quest with XP, money and a Daily Lootbox as a reward.
-
/equip: Equips a specified item type (i.e. fishing rod, bait, booster) using the included modal.
-
/inventory: Displays your FishingRPG status and lists all fish and items via rarity.
-
/profile: Displays your FishingRPG profile. This is currently a work-in-progress.
-
/quests: Displays your in-progress quests, their status and rewards.
-
/start-quest: Starts a quest from a list of repeatable commissions.
-
/stats: Displays your fishing stats. Including fish caught using specific rods and of a particular fish species.
- /configure pond add : Sets the desired channel as a fishing pond which has a limited amount of fish per day.
- /configure pond remove : Removes a pond from the specified channel.
- chalk v2.4.2
- discord.js v^14.13.0
- dotenv v^latest
- mongoose v^latest
Warning
Installing any version from the package chalk
that is over v2.4.2 will throw an error that you must enable ES6 modules, while this handler uses CommonJS modules.
- Node.js v16.9.0 or newer
- Install Visual Studio Code.
- Download this project as a .zip file: Click here
- Extract the .zip file into a normal folder.
- Open VSCode, click on Open Folder, and select the new created folder.
- Go to
src/
and renameexample.config.js
toconfig.js
and fill all the required values. You can use ENV instead ofconfig.js
to keep your bot token and ID, and your MongoDB URI in a secured place by renaming the file.env.example
to.env
and filling all required values.
Caution
Sharing your Discord bot's token with anyone is a very risky move since you'll allow them to use your bot. This is also a dangerous move for the MongoDB database; we don't recommend using any public URIs or sharing your database connection URL.
- Initialize a new npm package:
npm init -y
- Install all required packages:
npm install [email protected] discord.js@latest dotenv mongoose
- To start your bot, run
node .
ornpm run start
. - Enjoy. :D
- The bot token and/or bot ID are invalid.
- The bot token and bot ID are not from the same Discord bot.
- Too many application commands.
- 100 Global Chat input (AKA: Slash) commands.
- 5 Global User context commands.
- 5 Global Message context commands.
- Invalid application command structure.
- Missing description, type, or any required properties for a command.
- The command cannot be modified.
- The Discord API has an issue (Verify Discord status).
This is a common problem for developers, to fix this issue, restart the Discord app or go in a different text channel.
Yes, this bot is highly reliant on data. If you need to install the database, visit MongoDB website.
GPL-3.0, General Public License v3