I was getting a little frustrated with having all my Player's tabs open and refreshing them to get current HP, and much less needing to check and write down AC/Passive Perception every session just to make sure I have it right. I realized that while it's not officially supported (and there's no predicted API launch date), you can get the JSON of your character sheet by going to:
So I figured I would make a jupyter notebook that anyone in either of my games can run to get up-to-date info. I know there's tools out there like beyond20 but getting my players to install software/extensions is like pulling teeth. Also I don't have a roll20 pro account so some very useful scripts that are out there don't work for me.
To use for your own campaign, click "Show Code" in one of the Table Output sections and update the character names and numbers as appropriate. It works for any number of characters, as long as you follow the formatting properly. The notebook won't save your edits, so it's best to copy it to your own workspace.
The output table contains current/max HP, AC, Passive Perception, and Dex score (for initiative tiebreakers). If there's anything else that may be useful, let me know.
The notebook will not save your edits, but you should be able to somehow save a copy. I normally use Spyder as my IDE and am not used to Jupyter / Colab so ymmv. You can also clone the repository on Github: https://github.com/ahmerrow/DNDB-Scripts to make your own edits. There is more info about the script in the readme on Github.
Feel free to point out any bugs / shortcomings and I'll update accordingly. If you come up with a new subfunction that would be useful then you could share it with me on github. Keep in mind I did this for fun on my own time so I may not be very responsive. Eventually I may put together a pretty dashboard for this, but getting/organizing the data is the first step anyway.
it's pretty straighforward to get all the rest of the scores, you just need to add lines in the same way that I already did for Dex, replacing score names appropriately.
I'd like the idea of pulling all the proficient skills into one place, just due to running some house rules about skill checks.
i just realized what you meant by this - i'll work on a function for that later. Proficiencies are buried but i already found them to calculate passive perception, so it shouldnt' be too hard.
I had fun tinkering with your scripts but the app news is great too! I run everything on roll20 right now, so I'd rather not go to my phone, but if I can run it through virtualization that might be ideal! Thanks again!
The new update for encounters adds some of this. Still not perfect but it's an improvement.
The mobile app character roundup has HP, AC, Passive Perception (good), Passive Investigation (meh), and Passive Insight (good) and you can get to the full character sheet and back to the summary easily.
The new encounter builder has HP, AC, Initiative Bonus, Passive Perception, and Speed, plus you can auto-roll initiative for PCs and monsters, but afaik you can't open the full character sheet from the encounter, though you can open full monster stats from it.
I'll probably start using the encounters in DDB but I'll probably also still want to have the mobile app open until they make a few more changes. It's frustrating that they're getting so close but still not quite hitting the mark!
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hey y'all,
I was getting a little frustrated with having all my Player's tabs open and refreshing them to get current HP, and much less needing to check and write down AC/Passive Perception every session just to make sure I have it right. I realized that while it's not officially supported (and there's no predicted API launch date), you can get the JSON of your character sheet by going to:
https://character-service.dndbeyond.com/character/v3/character/<character number>
So I figured I would make a jupyter notebook that anyone in either of my games can run to get up-to-date info. I know there's tools out there like beyond20 but getting my players to install software/extensions is like pulling teeth. Also I don't have a roll20 pro account so some very useful scripts that are out there don't work for me.
To use for your own campaign, click "Show Code" in one of the Table Output sections and update the character names and numbers as appropriate. It works for any number of characters, as long as you follow the formatting properly. The notebook won't save your edits, so it's best to copy it to your own workspace.
The output table contains current/max HP, AC, Passive Perception, and Dex score (for initiative tiebreakers). If there's anything else that may be useful, let me know.
Here's the link: https://colab.research.google.com/drive/1rfc6Qd7l-PSdIHKEMnQdeImXL_XjI5-v?usp=sharing
The notebook will not save your edits, but you should be able to somehow save a copy. I normally use Spyder as my IDE and am not used to Jupyter / Colab so ymmv. You can also clone the repository on Github: https://github.com/ahmerrow/DNDB-Scripts to make your own edits. There is more info about the script in the readme on Github.
Feel free to point out any bugs / shortcomings and I'll update accordingly. If you come up with a new subfunction that would be useful then you could share it with me on github. Keep in mind I did this for fun on my own time so I may not be very responsive. Eventually I may put together a pretty dashboard for this, but getting/organizing the data is the first step anyway.
Here's a screenshot of the output:
Thanks!
Nice work, I like it.
Really like this.
I've made a copy and started have a little mess around (very limited skills :D)
I'd like the idea of pulling all the proficient skills into one place, just due to running some house rules about skill checks.
Certainly going to be using it Sunday, just need to make sure people update their sheets with their HP. Like herding cats.
All posts come with the caveat that I don't know what I'm talking about.
nice, i'm glad it's useful to more than just me!
it's pretty straighforward to get all the rest of the scores, you just need to add lines in the same way that I already did for Dex, replacing score names appropriately.
Very cool!
My homebrew subclasses (full list here)
(Artificer) Swordmage | Glasswright | (Barbarian) Path of the Savage Embrace
(Bard) College of Dance | (Fighter) Warlord | Cannoneer
(Monk) Way of the Elements | (Ranger) Blade Dancer
(Rogue) DaggerMaster | Inquisitor | (Sorcerer) Riftwalker | Spellfist
(Warlock) The Swarm
i just realized what you meant by this - i'll work on a function for that later. Proficiencies are buried but i already found them to calculate passive perception, so it shouldnt' be too hard.
So glad I found this! Thank you! I've been looking for a way to generate a quick-reference sheet and this is a great starting point for me!
so you know - the d&d beyond app now has this information under the gameplay tab.
also monk AC is broken in this script because i forgot about their unarmored defense.
I had fun tinkering with your scripts but the app news is great too! I run everything on roll20 right now, so I'd rather not go to my phone, but if I can run it through virtualization that might be ideal! Thanks again!
yeah i'm with you. i prop my phone up to the side of my laptop screen. the app keeps the screen unlocked as if it's a fullscreen video.
still... really wish there were an official API for little side projects like this.
Nice work, may have to do something similar! Thanks for sharing!
The new update for encounters adds some of this. Still not perfect but it's an improvement.
The mobile app character roundup has HP, AC, Passive Perception (good), Passive Investigation (meh), and Passive Insight (good) and you can get to the full character sheet and back to the summary easily.
The new encounter builder has HP, AC, Initiative Bonus, Passive Perception, and Speed, plus you can auto-roll initiative for PCs and monsters, but afaik you can't open the full character sheet from the encounter, though you can open full monster stats from it.
I'll probably start using the encounters in DDB but I'll probably also still want to have the mobile app open until they make a few more changes. It's frustrating that they're getting so close but still not quite hitting the mark!