btmorton / dnd-discord Goto Github PK
View Code? Open in Web Editor NEWThis is a discord bot that provides spell and monster lists for Dungeons and Dragons Play-By-Post games.
License: MIT License
This is a discord bot that provides spell and monster lists for Dungeons and Dragons Play-By-Post games.
License: MIT License
There should be the ability to add other systems to the bot, not just 5e. 3.5 and Pathfinder would be a good place to start, assuming a decent data source can be found.
Basic commands idea:
~table create table name
~table add table name item
~table view table name
~table roll table name
~table list
Add the ability to create and roll on tables, meaning auto-roll a fixed set of options as directed by the options in the table. Potentially add the ability to have multiple rolls for a single table and to create tables by pasting a list similar to the following:
1d10 My cousin told me about...
A child.
A fat merchant.
A temple priest.
A sailor.
A soldier.
A magician.
A noble.
A rogue.
A crazy monk.
A drunken farmer.
1d10 ...and they...
Got drunk.
Got washed out to sea.
Got stuck on a runaway horse.
Found an old well.
Disappeared for 3 days.
Found an old tomb.
Met a weird stranger.
Found a magic item.
Were sleepwalking.
Walked off into the forest.
1d10 ...and discovered...
A new disease.
A powerful artefact.
A cursed item.
A sleeping monster.
A treasure map.
A hero/villain thought dead, returned to life.
A book of secrets.
A key to a vast fortune.
A suppressed truth about the ruling kingdom.
A door to another plane.
1d10 ...and now...
People are disappearing!
People are sick!
The king has decreed strange new laws!
The temple has issued strange new tenets!
The sun might not come back up!
The moon might fracture!
The world might be invaded!
People are having bad dreams every night!
People are unable to sleep!
People are afraid to come outside!
Potentially look at auto-scraping from reddit?
There is some demand for a decent bot that does admin commands, such as role management. Should begin to investigate the extent that this is required/can be implemented and look to implement.
Look into the possibility of having the text displayed/sent as an embed since they display nicer in the discord UI.
To start character creation use:
~cs create [charname]
This character will then be associated to your user for the remainder of the character creation process. If you switch character or cancel creation, you will need to start again.
You will first be prompted for your level. Type:
~cs set level [level]
Next you will be prompted for stats. The roll options will be presented to you. To roll:
~cs roll [rollType]
You can then pick which ability to assign to. You can either select all stats at once by listing the all, or one by one by typing either the 3 letter acronym or the number next to it.
Then you will be prompted for your race. During this time you can search as normal without affecting your character. To pick a race type:
~cs set race [raceName]
This will then set the race bonuses for your character. Next you'll be asked for a base class. To set it type:
~cs set class [className] [level]
If you don't pass in a level paramter, the class will use all of your levels. If you pass in a parameter, you can run the command again to add further classes.
You can then pick your background using:
~cs set background [background]
For each class, you'll be asked to pick your proficiencies:
~cs set prof [ability...]
When the character has been configured, the bot will print a summary. The character will then be unselected so you can continue to use the character creator. You can use ~cs choose [charname]
to assign that character.
To roll an ability use ~cs [ability] [charname]
or just ~cs [ability]
if your character is assigned.
To level up a character, first assign it and then run ~cs levelup
. You'll be asked to pick your class again.
you could do ~cs set race custom
or for classes or background
~cs list
to list them. e.g. Grimoire, human. Level 2 Bard, Level 3 Cleric, Level 1 Fighter
Potentially look at adding a web-page to input character details and other bot-related things. This gets complex....
The version of discord.js used is 2 major versions behind and no longer functions without modifying their code which makes it so staged channels don't work.
The code should be updated to use the newest version of discord.js
Now the SRD has been parsed and processed into a usable JSON format, we should be able to auto-generate the rollable tables from it. If we look for dX as the first key field in the table object, that indicates we have a table that can be rolled on.
This might require some updates to the table so that it can support X-Y roll types (e.g. on a d100, values for 60-75 and 75-80)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.