Discord Bot for a Roleshop with currency that can be earned by writing messages.
APACHE-2.0 License
User earn points by writing messages. With those points, they can purchase special roles from a built-in shop.
The link above will invite a bot hosted by me that uses the latest version of this repo. Alternatively you can host the bot yourself. Instructions below ⏬
/rs-add-role
)/rs-remove-role
)/rs-set-role-icon
)/rs-set-language
) [Default: English]/rs-set-multiplier
) [Default: 2x]/rs-spam-filter
) [Default: Enabled]/rs-random-gift
) [Default: Enabled, Cooldown: 4hours, Chance: 5%]Feature request or discovered a bug? Please open an Issue here on GitHub.
Setup:
/rs-add-role
)
roleshop
is above the roles you added to the shop! (Server Settings -> Roles -> Drag the bots role above the roles you added to the shop)/rs-remove-role
)Admin Commands:
/rs-set-role-icon
)/rs-set-language
) [Default: English]/rs-set-multiplier
) [Default: 2x]/rs-spam-filter
) [Default: Enabled]/rs-random-gift
) [Default: Enabled, Cooldown: 4hours, Chance: 5%]/rs-reset-all
)/rs-set-points
)/rs-transaction-log
)/rs-list-roles
)/rs-admin-help
)User Commands:
/rs-shop
)/rs-stats
)/rs-top
)/rs-return
)/rs-help
)/rs-info
)node -v
git clone https://github.com/NullDev/Discord-RoleShop.git && cd Discord-RoleShop
npm install
config/config.custom.js
config/config.custom.js
. OR use npm run generate-config
npm start
npm run start:prod
Once the config has been copied like described in Step 4, it can be changed to your needs:
{
discord: {
bot_token: "", // Auth Token of the Discord bot. Can be created here: https://discordapp.com/developers/
bot_status: "Usage: /rs-help", // Bot activity ala "Is playing..."
},
bot_settings: {
slash_command_prefix: "rs", // Prefix for all slash commands. e.g. `/rs-foo`, `/rs-bar`.
spam_filter: {
alpha: 0.4, // The smoothing factor for the expavg spam filter (smaller = stricter)
window: 5, // The window for the moving average (last `n` messages) for calculation
},
emote_server_id: "", // Server for uploading role icons to be displayed in shop
},
}
Made with contrib.rocks.