art by u/Projekt_Knyte
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 q!help
note: all credentials will be in
./1/config.json
, fill in the json accordingly.
-
make a new discord bot in discord dev page, and copy the token into
./1/config.json
astoken
. -
you need credentials for google-spreadsheet (I recommend this video to set up credentials and paste the credentials in
./1/config.json
). (Not strictly necessary, but many commands require it.) -
Optional:
- add bot to statcord, and copy the key into
./1/config.json
asstatcord
add bot to discordbotlist, and copy the auth token into./1/config.json
asdiscordbotlist
- add bot to statcord, and copy the key into
-
to run type
node server
discord.js
what makes this bot worknode-fetch
for accessing popology sourcepluralize
used in parserlex
used inq!calc
filepath
used in alias reopsitoryexpress
used to receive pings to keep app awakegoogle-spreadsheet
to get information from BTD6 Index and Misc Challengeslodash.clonedeep
,lodash.isequal
: forq!2tc
andq!balance
, respectivelystatcord
used for bot statisticsatob
,zlib
used for fetching some data from NKaxios
: used for requestsrequest
: also used for requestsnode-dgdata
custom library for using NK API disguised as a dgdata fetcherdiscord.js-minesweeper
: used for minesweeperimgur
: used forq!imgur
hastebin-gen
: for very specific debugging
bufferutil
for a much faster WebSocket connectionutf-8-validate
in combination with bufferutil for much faster WebSocket processing
- try to use camelCase
- dont use
var
to define variables. JS is weird enough - try not to do too much at once (for pull requests)
- util functions/classes/modules should go to
./helpers
(maybe except if they are specific to only one command) - how the bot generally works