A friendly, extensible Discord bot written in Typescript.
1.5K
A modular Discord companion that is being constructed with the goals of providing a platform for general server utility, entertainment and skill growth as a programmer.
Rootbear is primarily written in Typescript, and packaged inside a Docker container. You can either clone the repo and build the docker image directly, or grab the latest version from DockerHub at gsharpe/rootbear:latest
The compose file will create a volume containing the "config" directory, the bot-config.json file within needs to be updated to contain the Discord Bot Token associated with your bot before running.
Should help commands have the ability to detect improper arguments and reply with a guide on how to use the command? If so, that should probably be a separate field on the command interface. The prefix could be appended at print time.
Figure out how to persist volatile storage. Storing JSON to disk, REDIS docker container?
Interactions with other bots.
Work with someone to map out environment setup for a contributor.
Improve this README.
Build proper docker containers and deploy them on a server.
'General'
* Ping - Checks if rootbear is alive, should return with a "Pong!"
* Choose - Randomly select one answer from 1 - x given options. (If 0-1 are given, sassy responses are mandatory.)
* Roll - Roll an X sided die, defaults to 100. User can provide max input for one or more dice. "roll 20 40 6" might return [10] [36] [1]
* Version - Returns the bot's internal version number, mostly used for debugging.
* Flip - Flip a coin, or a user. Special interaction for flipping the bot, more possibly required for owners / admins, etc.
'General' - (Things featured on most bots.)
'Generic' - Previously an 'addon' module for rootbear.
'League of Legends' - Module containing all commands to do with the MOBA by Riot Games.
'Owner' - Commands relating exclusively to the management of the bot itself.
WhatIsMyIP - Less related to server management, but sits at an owner level as a backup for dynamic IP and DNS issues.
Prefix - Change the bot's prefix from discord rather than modifying it directly.
Nickname - Change the bot's nickname.
Status - Change the bot's status / currently played game.
Contact - Send a message to the owner.
BotInfo- Git repo,botversion, other dev info.
Uptime - Uptime.
Server management? Joining, listing and leaving servers via commands?
Currently I don't see any benefit to modifying the list of loaded commands through add/remove/update, but it could become useful in the future so this will serve as a stub reminder.
Create music / youtube / soundcloud integration for the bot.
Alias subsystem, allowing users to define their own aliases / macros on existing commands. Take the 'choice' command, and predefine arguments for it under the name "PickShacoSkin" or something along those lines. Store in JSON or REDIS?
Permission levels within the bot for managing more sensitive commands?
Poll subsystem? Will people actually use it? (Consider slackbot-like poll using 'reaction' emojis as responses. Have the bot put one point in each, then count the first choice from each user? Or invalidate multi-choice users.
Economy system involving daily coin increases, the ability to gamble with them, wager, leaderboards, etc.
Content type
Image
Digest
Size
678.7 MB
Last updated
about 6 years ago
docker pull gsharpe/rootbear