Please give the repository a ⭐️!
Cyber Quincy is the most polished BTD6 discord bot from providing information on towers, hero, rounds, maps, as well as calculating cash from rounds and hero levelling. (and more)
- discord server (join for bot updates and online/offline status)
- invite link
- website
For help, simply use /help
note: all credentials will be in
./1/config.json(you need to create this file yourself), fill in the json accordingly (as per./1/template.json).
-
make a new discord bot in discord dev page, and copy the token into
./1/config.jsonastoken. -
to register slash commands type
node register -
to run type
node server, or to run with sharding runnode index
- this project uses CommonJS modules (no
importorexport, justrequireandmodule.exports) - there is now ESLint for this project - there is an
.eslintrc.jsonlinter file now which should hopefully enforce a somewhat consistent code standard - to use eslint to check for errors run
npx eslint <file or directory>. Many text editors also have integration with eslint as well.
- Much of the data the bot uses is within the
./jsonsfolder - Tower Information are from Extreme Bloonology and their pastebins (Heroes and Towers)
- This bot also uses the Official Ninja Kiwi API
- try to use
camelCase - don't use
varto define variables. JS is weird enough - try not to do too much at once (for pull requests, split it into multiple PRs)
- util functions/classes/modules should go to
./helpers(unless they are specific to only one command) - new data should go into
./jsonsif to be stored locally. Small nuggets of information are usually displayed via the/tagcommand
The bot accepts bloons input from a wide variety of sources, and as a result has many aliases for different towers, heroes, maps, bloons, difficulties, gamemodes, geraldo shop items, etc...
There are three main types of aliases dealt within the code base:
- "Alias Normal Form": this is just
snake_caseforms of the string, e.g.comanche_commander - "Canonical Form": this is generally the default form of aliases. Note that there is a distinction between a tower and a tower upgrade:
heli_pilotrefers to the tower as a whole.heli_pilot#000refers to the base heli pilot.heli_pilot#030represents the downdraft upgrade of the heli pilot.
- "Index Normal Form": this is when every word is capitalized and with spaces instead of underscores, e.g.
Comanche Commander. The special cases for this is thatdruid -> Druid Monkeyandengineer_monkey -> Engineer
The final special case is that Gwendolin is just gwen/Gwen in all three types
For more information, see alias-repository.js and ./aliases/README.md