The dumb discord bot is a service designed to run as a bot for discord servers (Redundant). This bot is designed to play random sounds and make random posts when a user requests it. Honestly, there is little to no point in this service, and it will most likely benefit nobody.
- The dumb discord bot shall be a service
- The dumb discord bot shall incorporate a logging service
- The dumb discord bot shall incorporate configuration and error checking on startup
- The dumb discord bot shall be a good bot
- The dumb discord bot may pick images and sounds at random to play or post
- The dumb discord bot shall post images and messages upon voice channel departure
- Random, somewhat relevant images shall be posted 25% of the time
- The dumb discord bot shall post images and messages upon voice channel departure
- When the dumb discord bot reads the command !rando, it shall randomly select a sound to play
- When the dumb discord bot reads the command !stop, it shall stop all currently playing sounds
- When the dumb discord bot reads the command !alarm <24 hour time>, it shall set an alarm for the specified time
- When the specified time is at or above the set alarm time, the dumb discord bot shall sound an alarm sound
- When the dumb discord bot reads the command !doot, it shall play the Mr. Skeltal doot doot sound
- The dumb discord server shall play Danny Devito saying “HOORS” when the command !hoors is typed
- The client ID shall be specified through a configuration file or passed argument on startup
- Phase 1 - Service structure and basic sound playing abilities
- Interopablity between server and discord (ACTIVE)
- Bootable serivce
- Boot up self check
- Start discord service
- Logging
- Phase 2 - Business Intelligence
- Phase 3 - Form S-corp and go public
- Phase 4 - Make lods-of-emone
11/9/2017 - The kick off will include me drinking a PBR. Possibly wild turkey.
- Customers (Discord users)
- US Govt, probably
- dot1q
This section aims to address the various types of components and data flows that the dumb discord bot will utilize. The dumb discord bot will be built with various enviornments in mind, and aim to be utilized on ARM, x86/x64 Linux and Windows Systems. The image below explains the various components and their connections.
- Discord Client (Application/Presentation)
- Discord API (Transport)
- Dumb Discord Bot Controller (transport protocol not currently present)
- Back End Services
The development environment will consist of using nodeJS with ffmpeg-binaries.
To set up a dev environment:
- Install latest versions of nodeJS and NPM
- If on Linux (debain) install
apt-get install build-essential(for g++) - clone git repo
2a. If using a windows machine execute
npm install --global --production windows-build-tools - Execute
npm install
-
make sure you have run the setup commands from the section above^
-
npm run build -
clientId=test node ./dist/backend/index.jsNote: If you remove the token argument, you must specify the token in the config file -
make sure you have run the setup commands from the section above^
-
npm run build -
copy the dist contents to your new location
-
edit the
config/config.jsto include your clientId token. Likewise if you define it as a process env var you don't need to do this -
Actaully don't do this, since there is currently no expand/compile task written for adding node modules and package.json is missing.
All exceptions will be handled within the main thread of the application. Mediator broadcasts of unhandled or unexpected exceptions will be handeled the same, unless specific module requirements specify otherwise. All exceptions will be logged using the applications logger.
docker build -t=dumb-discord-bot .
docker run -it -e clientId=<PUT YOUR KEY HERE> dumb-discord-bot
