Moebius JS is a full rewrite of Moebius within discord.js! Not only will all of the features from the original pycord build of Moebius be ported over, but a slew of new features will be implemented (exclusive to Moebius JS) as well!
The first step toward this bot's finished project is to completely rebuild the Moebius bot from this archived repository in discord.js.
All features present in the original Moebius repository have been properly integrated into this repository!
Ideally, there would be some way to implement a global economy system, where users can earn a fictional currency and earn spots on global and server-based leaderboards with their balance.
- Progress: 80% (Nearing Completion)
- Database organised by user IDs to keep track of user balances
- Haul (used to gain currency)
- Balance (used to view your balance or that of another user)
- Global Leaderboard
- Shop System
- Pay other users (You can no longer steal by paying a negative quantity)
- Gamble your money via a myriad of methods
- Coin flip (2x bet)
- Predict dice roll (3x bet)
- (Earning multiplier will scale with risk factor)
Each user has a customizable image-based profile card generated by Moebius. They can use their earnings from /haul
to purchase new backgrounds, fonts, and text colours to make their profile card more unique.
- Progress: 75% (Nearing Completion)
- Purchaseable Backgrounds, Fonts, Text Colours from /shop command
- Customizable Background, Font, Text Colours on the profile card itself
- Purchaseable and Customizable Profile Frames
- More fonts
- More text colors
Before doing anything with this repository on your local machine, install Node.js from the following link: https://nodejs.org/en. Once you've installed Node.js, you're free to begin following the rest of these instructions!
git clone https://github.com/RingoOrigo/Moebius-JS
cd your/project/directory
npm install discord.js mongoose @napi-rs/canvas
While not required, a linter can be incredibly useful. ESLint can be fully configured with a JSON file in your project's directory.
npm install --save-dev eslint
Your bot will not run without a proper config.json. You are responsible for creating your own config file, but a guide can be found on the wiki's Making Your Config File page.
Before running the bot, deploy your commands to your test guild by running the following command in your directory's terminal.
This will only deploy commands for your test token. To test in-place, without a second bot, you can just set the testToken
key to the same value as your token
key in congif.json
.
npm run testDeploy
You can then start the bot with the following command to ensure all of its commands are working as intended within your test guild.
npm run start
Upon confirmation that everything is working as intended, deploy your commands globaly for use in every server containing your bot.
This will delete all of your local test commands associated with your main ID, replacing them with global counterparts.
npm run deploy