Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

[Script] [Beta] BeyondImporter - Import DNDBeyond Character Sheets.

1545246143

Edited 1545246410
Ammo
Pro
oh boy, I missed the first line of Martial Arts.... embarrassing, but thank you for clarifying.    Note to implementers: I just finished reading the code.  The kensei part is unimplemented.  It does use DEX over STR for monk weapons that it recognizes.  However, a Longsword (kensei weapon) on a D&D Beyond character is not marked as 'isMonkWeapon' and that is all the current importer checks.  For kensei weapons to work correctly as 'finesse' or 'monk' weapons, we have to check modifiers.class with  "type" : "monk-weapon" , "subType" : "longsword" , where 'longsword' would be the short name of the current weapon's type (WARNING: lower case in modifier, capitalized in weapon type.) NOTE: (it is also present with 'type': 'kensei' but 'monk-weapon' seems more appropriate in case there will be other ways to gain additional monk weapons)
<a href="https://puu.sh/CoIZf/2617d40063.png" rel="nofollow">https://puu.sh/CoIZf/2617d40063.png</a> GM sent me this link when we tried to import my char today.
The script was working fine a week and a half ago, but it seems to no longer function for myself or any of my players. Keep getting this message: TypeError: Cannot read property 'forEach' of undefined TypeError: Cannot read property 'forEach' of undefined at runImport (apiscript.js:169:20) at apiscript.js:139:21 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1634:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425)
Very odd.&nbsp; In a multi-class situation.&nbsp; If the second class is "Bard" it's being marked as "Barbarian" in Roll20.
1547357900

Edited 1547357923
instead of turning on Jack of All Trades for Bards in Roll20, it seems that proficiencies are being given a manual plus to achieve the same total when imported.
Ok a bit confused, I have tried using the command in my games chat to start importing my friends characters, but it is not working and I can't even pull up the help section. Unless im missing something and you need to add it somehow. I would also love clarification on how to do that.
1547573962

Edited 1547574693
i am experiencing exactly the same problem as Will R.&nbsp; Could it be that dndbeyond changed their character data recently?&nbsp; Is it working for anyone else?
I just had a player test this last night. Works as intended. They checked out their sheet, and said everything was fine.
1547607015
Surok
Roll20 Production Team
Chandler said: Ok a bit confused, I have tried using the command in my games chat to start importing my friends characters, but it is not working and I can't even pull up the help section. Unless im missing something and you need to add it somehow. I would also love clarification on how to do that. I've noticed the script shuts off after a while and needs to be rebooted when you want to run it.
Surok said: Chandler said: Ok a bit confused, I have tried using the command in my games chat to start importing my friends characters, but it is not working and I can't even pull up the help section. Unless im missing something and you need to add it somehow. I would also love clarification on how to do that. I've noticed the script shuts off after a while and needs to be rebooted when you want to run it. The script is not supposed to die.&nbsp; &nbsp;Can you provide more detail, please?
1547950114

Edited 1547961928
Ammo
Pro
Tanjin said: <a href="https://puu.sh/CoIZf/2617d40063.png" rel="nofollow">https://puu.sh/CoIZf/2617d40063.png</a> GM sent me this link when we tried to import my char today. Tanjin:&nbsp; [Edited] never mind the instructions I previously posted here for testing.&nbsp; I have now seen this crash even without using the feature that I thought might be to blame.&nbsp; More testing needed. I have found one cause of this crash.&nbsp; I am creating a work around that you can test with your character that was crashing before.&nbsp; This is now tracked as a bug: <a href="https://github.com/RobinKuiper/Roll20APIScripts/issues/46" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/issues/46</a>
Tanjin said: <a href="https://puu.sh/CoIZf/2617d40063.png" rel="nofollow">https://puu.sh/CoIZf/2617d40063.png</a> GM sent me this link when we tried to import my char today. Ok I have a fix for this issue in the current development build.&nbsp; &nbsp;If anyone has a test available that is failing in this way, I would like to see if it fixes it for you.
1547964171

Edited 1547964795
Ammo
Pro
Will R. said: The script was working fine a week and a half ago, but it seems to no longer function for myself or any of my players. Keep getting this message: TypeError: Cannot read property 'forEach' of undefined TypeError: Cannot read property 'forEach' of undefined at runImport (apiscript.js:169:20) at apiscript.js:139:21 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1634:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) Pavel said: i am experiencing exactly the same problem as Will R.&nbsp; Could it be that dndbeyond changed their character data recently?&nbsp; Is it working for anyone else? Is this still going on?&nbsp; &nbsp; I am not seeing any such problems with the current code. Edit: This is the "5eOGL" version, not the "Shaped" version, right?&nbsp; Because the "Shaped" version is known to be broken.&nbsp; I don't believe there is anyone working on fixing it at the moment, either. &nbsp;
Chandler said: Ok a bit confused, I have tried using the command in my games chat to start importing my friends characters, but it is not working and I can't even pull up the help section. Unless im missing something and you need to add it somehow. I would also love clarification on how to do that. You need a Roll20 Pro account and you need to install the BeyondImporter script to your API Scripts for your game.&nbsp; Then someone with GM access can use the script to import characters.&nbsp; &nbsp;It is a bit out of my scope to explain how to install scripts, but I'm sure there are videos google-able for that, since it is the same process for all scripts.&nbsp; &nbsp;There are also some posts further back in this thread where people described all the steps needed.
Envaris said: Very odd.&nbsp; In a multi-class situation.&nbsp; If the second class is "Bard" it's being marked as "Barbarian" in Roll20. That is extremely weird.&nbsp; &nbsp;The code for this is extremely straight forward, in that it just copies the string from Beyond.&nbsp; &nbsp;So I would need a test character for which this happens, so I can reproduce it and take a look.
Envaris said: instead of turning on Jack of All Trades for Bards in Roll20, it seems that proficiencies are being given a manual plus to achieve the same total when imported. Yes that is how the code works.&nbsp; The original author implemented it as Jack of all trades proper, but then commented it out and did the brute force thing for some reason.&nbsp; I don't know why, so would need to follow up with them.&nbsp; &nbsp;It would be helpful if you could file a bug for this: <a href="https://github.com/RobinKuiper/Roll20APIScripts/issues/new" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/issues/new</a>
Thanks for taking up the mantle and keeping on top of this thread Ammo! I hope Robin is ok...
1548203542

Edited 1548207954
Ammo said: Will R. said: The script was working fine a week and a half ago, but it seems to no longer function for myself or any of my players. Keep getting this message: TypeError: Cannot read property 'forEach' of undefined TypeError: Cannot read property 'forEach' of undefined at runImport (apiscript.js:169:20) at apiscript.js:139:21 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1634:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) Pavel said: i am experiencing exactly the same problem as Will R.&nbsp; Could it be that dndbeyond changed their character data recently?&nbsp; Is it working for anyone else? Is this still going on?&nbsp; &nbsp; I am not seeing any such problems with the current code. Edit: This is the "5eOGL" version, not the "Shaped" version, right?&nbsp; Because the "Shaped" version is known to be broken.&nbsp; I don't believe there is anyone working on fixing it at the moment, either. &nbsp; One of my players who is a bard, his character made the script crash. Unfortunately I didn't keep a copy of the error message, but it was 'type' undefined inside the bonuses.forEach around line 986 of my version (there's a comment about XXX what are these?). I put in some checking in my version for all bonuses iterators to try and see if I can stop it from crashing. EDIT: Trying to get his character JSON, will PM to you Ammo EDIT2: Using your dev branch, at line 942, I edited as follows, testing with my player to see if it works. I'll make a PR if that's what you need: ```javascript &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bonuses.forEach((bonus) =&gt; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (bonus &amp;&amp; bonus.type) bonus_attributes[bonus.type + '_flat'] = bonus.value; //PATCH &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); ```
1548212435

Edited 1548213043
Ammo
Pro
Dejan said: Ammo said: Will R. said: The script was working fine a week and a half ago, but it seems to no longer function for myself or any of my players. Keep getting this message: TypeError: Cannot read property 'forEach' of undefined TypeError: Cannot read property 'forEach' of undefined at runImport (apiscript.js:169:20) at apiscript.js:139:21 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1634:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) Pavel said: i am experiencing exactly the same problem as Will R.&nbsp; Could it be that dndbeyond changed their character data recently?&nbsp; Is it working for anyone else? Is this still going on?&nbsp; &nbsp; I am not seeing any such problems with the current code. Edit: This is the "5eOGL" version, not the "Shaped" version, right?&nbsp; Because the "Shaped" version is known to be broken.&nbsp; I don't believe there is anyone working on fixing it at the moment, either. &nbsp; One of my players who is a bard, his character made the script crash. Unfortunately I didn't keep a copy of the error message, but it was 'type' undefined inside the bonuses.forEach around line 986 of my version (there's a comment about XXX what are these?). I put in some checking in my version for all bonuses iterators to try and see if I can stop it from crashing. EDIT: Trying to get his character JSON, will PM to you Ammo EDIT2: Using your dev branch, at line 942, I edited as follows, testing with my player to see if it works. I'll make a PR if that's what you need: ```javascript &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bonuses.forEach((bonus) =&gt; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (bonus &amp;&amp; bonus.type) bonus_attributes[bonus.type + '_flat'] = bonus.value; //PATCH &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); ``` Thanks for checking into that. &nbsp;This code is in fact new-ish and not included in the last release Robin did 0.3.9. &nbsp; Also, I agree that section is broken :)&nbsp; I am not sure about your fix, by inspection I think bonus.type is always just going to be the string 'bonus' at that location. &nbsp;You might need&nbsp; bonus.subType.replace( /-/ g , '_' ) instead . I will give it a whirl when I have a moment. &nbsp;&nbsp; PS: tracked on this feature, which is now classified a bug&nbsp;<a href="https://github.com/RobinKuiper/Roll20APIScripts/issues/33" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/issues/33</a>
Evan said: Thanks for taking up the mantle and keeping on top of this thread Ammo! I hope Robin is ok... Thank you for your kind words. &nbsp;I think Robin is busy elsewhere and &nbsp;Sillvva is on a secret (not really) unrelated project. &nbsp;So I am not taking responsibility for this or anything, just trying to push out some of the pending fixes and keep things tracked. :)
Ammo said: Dejan said: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bonuses.forEach((bonus) =&gt; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (bonus &amp;&amp; bonus.type) bonus_attributes[bonus.type + '_flat'] = bonus.value; //PATCH &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); Thanks for checking into that. &nbsp;This code is in fact new-ish and not included in the last release Robin did 0.3.9. &nbsp; Also, I agree that section is broken :)&nbsp; I am not sure about your fix, by inspection I think bonus.type is always just going to be the string 'bonus' at that location. &nbsp;You might need&nbsp; bonus.subType.replace( /-/ g , '_' ) instead . I will give it a whirl when I have a moment. &nbsp;&nbsp; PS: tracked on this feature, which is now classified a bug&nbsp; <a href="https://github.com/RobinKuiper/Roll20APIScripts/issues/33" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/issues/33</a> I made the change using your change and the bard player could import without crashing the script, although he said that he had to "make corrections". Our game is soon, I'll try to find out what he means. bonuses.forEach((bonus) =&gt; { if (bonus &amp;&amp; bonus. subType ) bonus_attributes[ bonus.subType.replace( /-/ g , '_' ) + '_flat'] = bonus.value; //PATCH &nbsp;});
I just reproduced this bug with one of my characters. &nbsp;In my class, the second class is 'Fighter' so this is something sillier going on. &nbsp; I suspect it is interaction with the sheet update events resetting it to the default (Barbarian) inadvertently. &nbsp;Need to study it, so tracking as a bug. <a href="https://github.com/RobinKuiper/Roll20APIScripts/issues/49" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/issues/49</a> Ammo said: Envaris said: Very odd.&nbsp; In a multi-class situation.&nbsp; If the second class is "Bard" it's being marked as "Barbarian" in Roll20. That is extremely weird.&nbsp; &nbsp;The code for this is extremely straight forward, in that it just copies the string from Beyond.&nbsp; &nbsp;So I would need a test character for which this happens, so I can reproduce it and take a look.
I went ahead and released the currently stable bug fixes and a new rewrite of proficiencies and bonus calculation. This is in the usual location&nbsp;<a href="https://github.com/RobinKuiper/Roll20APIScripts/blob/master/BeyondImporter_5eOGL/BeyondImporter.js" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/blob/master/BeyondImporter_5eOGL/BeyondImporter.js</a> v0.4.0 added configurable feature 'Spell Info in Attacks' (enabled by default) which adds more information to spell attacks fixed items not being added to Armor Class #34 rewrite of proficiencies and bonuses, fixing many cases of combinations of modifiers Alert feat now supported, including in combination with other initiative bonuses #33 Jack of All Trades now implemented by Roll20 feature instead of fixed bonuses Items that grant ability score bonus now work Backgrounds with missing feature no longer crash #38 Class features with options like Fighting Style imported correctly #42 Great Weapon Fighting no longer applied to heavy ranged weapons #41 fixed crashes with 'Firebase.update failed' message #46 performance improvements minor bug fixes Note: &nbsp;I don't have access to update the head post of this thread. &nbsp;We need Robin for that.
1548854879

Edited 1548860707
Ammo
Pro
If you folks get a chance, can you please test this new release? &nbsp;I believe you now get the correct saves and ability bonuses for many cases that used to fail (like Alert Feat combined with Jack of All Trades for initiative.) &nbsp; A lot of Bard and Monk (except Kensei weapons) should now work correctly out of the box. &nbsp;Also, let me know if you like the way features import now. &nbsp;For example, Battle Masters will have all their selected Maneuvers imported instead of the general place holder item. &nbsp; I admit my testing is limited, since I am currently the only maintainer of this stuff. &nbsp;So please bang on it a bit and see how it does?
Ammo said: Will R. said: The script was working fine a week and a half ago, but it seems to no longer function for myself or any of my players. Keep getting this message: TypeError: Cannot read property 'forEach' of undefined TypeError: Cannot read property 'forEach' of undefined at runImport (apiscript.js:169:20) at apiscript.js:139:21 at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1634:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) Pavel said: i am experiencing exactly the same problem as Will R.&nbsp; Could it be that dndbeyond changed their character data recently?&nbsp; Is it working for anyone else? Is this still going on?&nbsp; &nbsp; I am not seeing any such problems with the current code. Edit: This is the "5eOGL" version, not the "Shaped" version, right?&nbsp; Because the "Shaped" version is known to be broken.&nbsp; I don't believe there is anyone working on fixing it at the moment, either. Sorry, this was for Shaped.&nbsp; 5eOGL appears to work fine.&nbsp; So, nobody is working on shaped?&nbsp; Too bad :(
1548990342

Edited 1548990378
Ammo said: If you folks get a chance, can you please test this new release? &nbsp;I believe you now get the correct saves and ability bonuses for many cases that used to fail (like Alert Feat combined with Jack of All Trades for initiative.) &nbsp; A lot of Bard and Monk (except Kensei weapons) should now work correctly out of the box. &nbsp;Also, let me know if you like the way features import now. &nbsp;For example, Battle Masters will have all their selected Maneuvers imported instead of the general place holder item. &nbsp; I admit my testing is limited, since I am currently the only maintainer of this stuff. &nbsp;So please bang on it a bit and see how it does? Thanks for the update, I have imported our bard's JSON successfully, although I am not sure if all his bonuses add up correctly. I will advise when him and our other players report any issues.
My group is having an issue where the script "died" on us. It worked fine when we loaded it in initially and we were able to load multiple characters at once. Now, a couple days later, we none of the !beyond commands work, not even help. How do we get it up and running again?
Drew D. said: My group is having an issue where the script "died" on us. It worked fine when we loaded it in initially and we were able to load multiple characters at once. Now, a couple days later, we none of the !beyond commands work, not even help. How do we get it up and running again? We've had that happen, seems the API sandbox will unload after a certain period of inactivity. We fixed it by restarting the API sandbox in the API Scripts section.
1551250614

Edited 1551251240
So i am having the same problem where when i first launched the game i could have imported character sheets now however (a few days later) i am unable to have the "!beyond" command do anything not import not config and not even help.&nbsp; I have tested and restarted the API sandbox, but still nothing responds.&nbsp; I have also deleted and restarted the script to no avail.&nbsp; Any ideas or suggestions? Addendum: I looked into the code and found there was a command "!beyond --reset" that worked and launched it back online.
Grim said: So i am having the same problem where when i first launched the game i could have imported character sheets now however (a few days later) i am unable to have the "!beyond" command do anything not import not config and not even help.&nbsp; I have tested and restarted the API sandbox, but still nothing responds.&nbsp; I have also deleted and restarted the script to no avail.&nbsp; Any ideas or suggestions? Addendum: I looked into the code and found there was a command "!beyond --reset" that worked and launched it back online. Great to hear you fixed it, but very puzzling. &nbsp; &nbsp;To confirm, this is the sequence that you observed: - !beyond --help did nothing - !beyond --reset did something - after that, !beyond --help and !beyond --import worked again, without having to restart the API sandbox? Is that correct? &nbsp; If so, it is very hard to understand, because !beyond --help does not use the state that "--reset" clears out at all. &nbsp;So I cannot currently explain why you would be able to run "!beyond --reset" but not "!beyond --help" and also I cannot explain why --help wouldn't work, ever. &nbsp;&nbsp; I think I will need much more information. &nbsp;For example, was anything printed on the console when you restarted the API Sandbox when things were not working? &nbsp; i.e. did Beyond Importer say it was loaded and ready? &nbsp; Any other messages?
Dejan said: Drew D. said: My group is having an issue where the script "died" on us. It worked fine when we loaded it in initially and we were able to load multiple characters at once. Now, a couple days later, we none of the !beyond commands work, not even help. How do we get it up and running again? We've had that happen, seems the API sandbox will unload after a certain period of inactivity. We fixed it by restarting the API sandbox in the API Scripts section. Just for clarification: &nbsp;The sandbox is supposed to unload when the game has no running sessions (i.e. no players or GM) for a certain amount of time. &nbsp;Then it should start up again when you launch a game session. &nbsp; If BeyondImporter does not load at that point, that's a bug you should file. &nbsp;There should not be any intervention required in terms of restarting the API sandbox, since the Roll20 system does that when you start a game. Also, if you try to start up the API sandbox without there being a game session, it will just sit there and not print anything except a confusing message that says it is starting, except it is not. &nbsp;That is normal Roll20 behavior. &nbsp; Starting a game is supposed to launch things for reals. &nbsp;File a bug if it does not.
Ammo said: Grim said: So i am having the same problem where when i first launched the game i could have imported character sheets now however (a few days later) i am unable to have the "!beyond" command do anything not import not config and not even help.&nbsp; I have tested and restarted the API sandbox, but still nothing responds.&nbsp; I have also deleted and restarted the script to no avail.&nbsp; Any ideas or suggestions? Addendum: I looked into the code and found there was a command "!beyond --reset" that worked and launched it back online. Great to hear you fixed it, but very puzzling. &nbsp; &nbsp;To confirm, this is the sequence that you observed: - !beyond --help did nothing - !beyond --reset did something - after that, !beyond --help and !beyond --import worked again, without having to restart the API sandbox? Is that correct? &nbsp; If so, it is very hard to understand, because !beyond --help does not use the state that "--reset" clears out at all. &nbsp;So I cannot currently explain why you would be able to run "!beyond --reset" but not "!beyond --help" and also I cannot explain why --help wouldn't work, ever. &nbsp;&nbsp; I think I will need much more information. &nbsp;For example, was anything printed on the console when you restarted the API Sandbox when things were not working? &nbsp; i.e. did Beyond Importer say it was loaded and ready? &nbsp; Any other messages? Hello Ammo yes it is correct that command !beyond --help printed nothing but !beyond --reset allowed the system to basically reset and printed the original config page.&nbsp; After that all other commands worked with not issues.&nbsp; As for what the sandbox script said most of the time it was saying the file was loaded and ready command: !beyond however I didn't think to take a snap shot of the print out.&nbsp; If this does happen again I'll make sure to snip the print out.
Grim said: Hello Ammo yes it is correct that command !beyond --help printed nothing but !beyond --reset allowed the system to basically reset and printed the original config page.&nbsp; After that all other commands worked with not issues.&nbsp; As for what the sandbox script said most of the time it was saying the file was loaded and ready command: !beyond however I didn't think to take a snap shot of the print out.&nbsp; If this does happen again I'll make sure to snip the print out. Ok, that is bizarre. &nbsp; What version of the script are you using? &nbsp;The version number is embedded in the first few lines of the script if you view it in the API console.
Currently running version 0.4.0
Grim said: Currently running version 0.4.0 Ok I re-read all the code. &nbsp;I have no explanation how things could be in a state where --reset does something but --help does not. &nbsp;The code for --help is trivial, it doesn't access the state that is reset via --reset, and it does not rely on any state of the script. &nbsp;It just formats some html and sends it to chat. &nbsp;&nbsp; If someone with more experience in Roll20 weirdness can chime in, great. &nbsp; Otherwise, I will just consider this "something else that looked like this was happening." &nbsp; &nbsp;If it does recur, where you get the script into a state where it seems to be running but --help and --import do not work, then please do summon me and let me see it. &nbsp; My Discord info is in the header of the script.
1551496285

Edited 1551496348
Ammo said: Just for clarification: &nbsp;The sandbox is supposed to unload when the game has no running sessions (i.e. no players or GM) for a certain amount of time. &nbsp;Then it should start up again when you launch a game session. &nbsp; If BeyondImporter does not load at that point, that's a bug you should file. &nbsp;There should not be any intervention required in terms of restarting the API sandbox, since the Roll20 system does that when you start a game. Also, if you try to start up the API sandbox without there being a game session, it will just sit there and not print anything except a confusing message that says it is starting, except it is not. &nbsp;That is normal Roll20 behavior. &nbsp; Starting a game is supposed to launch things for reals. &nbsp;File a bug if it does not. I understand, but when I investigated when my players reported !beyond not working, I did not see anything amiss, no error messages, nothing. After restarting the sandbox it worked again. I chalked it up to the way the sandbox works, so I did not think to file it as a bug. I will try to pay more attention in the future. EDIT: One time it was a case of malformed JSON, since the script does not catch that and simply crashes, needing a restart. But other times it was mysterious.
Good evening again everyone.&nbsp; I noticed something (not sure if anyone else made mention about this) when clicking a imported character spell it only pulls up the information about the spell eg: casting&nbsp;time and such stuff.&nbsp; It doesnt however do any of the rolls for the spell.&nbsp; is that something that was missed or was that something at is currently a little too much to implement?&nbsp; Thank you for your time.
Grim said: Good evening again everyone.&nbsp; I noticed something (not sure if anyone else made mention about this) when clicking a imported character spell it only pulls up the information about the spell eg: casting&nbsp;time and such stuff.&nbsp; It doesnt however do any of the rolls for the spell.&nbsp; is that something that was missed or was that something at is currently a little too much to implement?&nbsp; Thank you for your time. Hey Grim. &nbsp; Yes, this is supposed to do the right thing already. &nbsp;Let me summarize what you are supposed to be seeing: When working correctly, any spell that does damage (or healing) should have an "Attack" created on the 'Core' page of the 'Character Sheet' tab. &nbsp;Additionally, if you are playing in your own game where you import the characters, clicking on these spells in the spell book also does the attack/healing. &nbsp; For other spells that do not have damage or healing, it will just print their description. &nbsp;&nbsp; Unrelated to BeyondImporter, clicking in the spell book to do the attacks may produce an error when you are playing in someone else's game. &nbsp;I don't know why this happens, or if it still happens, but it is a Roll20 problem and you work around it by just clicking on the attacks in the 'Core' page instead. So, all that said: &nbsp; Are you seeing attacks created in the 'Core' page? &nbsp; Do they work? &nbsp; Does clicking on a spell that should have an attack instead print the description? &nbsp;If so, what spell was it and how did your character gain it? &nbsp; I.e. is it a class spell or a spell you got some other way? Cheers, Ammo &nbsp;
1551737964

Edited 1551738225
Ammo said: Hey Grim.&nbsp;&nbsp; Yes, this is supposed to do the right thing already. &nbsp;Let me summarize what you are supposed to be seeing: When working correctly, any spell that does damage (or healing) should have an "Attack" created on the 'Core' page of the 'Character Sheet' tab. &nbsp;Additionally, if you are playing in your own game where you import the characters, clicking on these spells in the spell book also does the attack/healing. &nbsp; For other spells that do not have damage or healing, it will just print their description. &nbsp;&nbsp; Unrelated to BeyondImporter, clicking in the spell book to do the attacks may produce an error when you are playing in someone else's game. &nbsp;I don't know why this happens, or if it still happens, but it is a Roll20 problem and you work around it by just clicking on the attacks in the 'Core' page instead. So, all that said: &nbsp; Are you seeing attacks created in the 'Core' page? &nbsp; Do they work? &nbsp; Does clicking on a spell that should have an attack instead print the description? &nbsp;If so, what spell was it and how did your character gain it? &nbsp; I.e. is it a class spell or a spell you got some other way? Cheers, Ammo &nbsp; Hello Ammo, as for the attack on the core i do not see any spells for rolling. All i see is standard weapons.&nbsp; Now i looked to the compendium and pulled a couple spells from there and they were placed over top of the imported ones and added the core page attack variable, but not all spells are translated into the compendium. These pictures below are in order: After linked via the compendium, core page after linked in the compendium, before linked from the compendium. So to make sure i summarize after the import i do not see any spells showing up in the core page i only see the spells located in the spells section.&nbsp; Therefor i can't cause any rolls to automatically happen.&nbsp; If you would like we can get you into my testing game and you can see what i mean.
Grim said: Ammo said: Hey Grim.&nbsp;&nbsp; Yes, this is supposed to do the right thing already. &nbsp;Let me summarize what you are supposed to be seeing: When working correctly, any spell that does damage (or healing) should have an "Attack" created on the 'Core' page of the 'Character Sheet' tab. &nbsp;Additionally, if you are playing in your own game where you import the characters, clicking on these spells in the spell book also does the attack/healing. &nbsp; For other spells that do not have damage or healing, it will just print their description. &nbsp;&nbsp; Unrelated to BeyondImporter, clicking in the spell book to do the attacks may produce an error when you are playing in someone else's game. &nbsp;I don't know why this happens, or if it still happens, but it is a Roll20 problem and you work around it by just clicking on the attacks in the 'Core' page instead. So, all that said: &nbsp; Are you seeing attacks created in the 'Core' page? &nbsp; Do they work? &nbsp; Does clicking on a spell that should have an attack instead print the description? &nbsp;If so, what spell was it and how did your character gain it? &nbsp; I.e. is it a class spell or a spell you got some other way? Cheers, Ammo &nbsp; Hello Ammo, as for the attack on the core i do not see any spells for rolling. All i see is standard weapons.&nbsp; Now i looked to the compendium and pulled a couple spells from there and they were placed over top of the imported ones and added the core page attack variable, but not all spells are translated into the compendium. These pictures below are in order: After linked via the compendium, core page after linked in the compendium, before linked from the compendium. So to make sure i summarize after the import i do not see any spells showing up in the core page i only see the spells located in the spells section.&nbsp; Therefor i can't cause any rolls to automatically happen.&nbsp; If you would like we can get you into my testing game and you can see what i mean. Yes please let me see it, that would be quickest. &nbsp;Please contact me on Discord (ammo#7063) and we will set something up.&nbsp;
Ok, I have confirmed that importing spells no longer works. &nbsp;It also does not work with older versions of BeyondImporter. &nbsp;I believe there is an interaction with the upgrade of 5e OGL sheet to 2.7, which includes some refactoring and changes around change handlers. &nbsp;I am reaching out to the sheet author. &nbsp; In the mean time, sorry there is nothing I can do. &nbsp;As a work-around: After you import your character, go to each spell that should have an attack and toggle the spell in the spell book to "SPELLCARD" output and then back to "ATTACK" output. This will tickle the sheet handler to create the attack for you again.&nbsp;
Update: Found the root cause and provided the info to a roll20 sheet developer. &nbsp; They have the info they need to fix it. &nbsp; No change is needed on BeyondImporter.&nbsp;
Hi Ammo, Quick question -- I can figure out what most of the config options do, but a few are still mystifying to me.&nbsp; What do Prefix, Suffix, and Language Grouping do?
Rebecca W. said: Hi Ammo, Quick question -- I can figure out what most of the config options do, but a few are still mystifying to me.&nbsp; What do Prefix, Suffix, and Language Grouping do? I'm not sure about the first 2, but I believe Language Grouping adds a D&amp;D Beyond character's known languages as a single entry in the Other Proficiencies &amp; Languages box on the Roll20 sheet, rather than individual lines.
Evan said: Rebecca W. said: Hi Ammo, Quick question -- I can figure out what most of the config options do, but a few are still mystifying to me.&nbsp; What do Prefix, Suffix, and Language Grouping do? I'm not sure about the first 2, but I believe Language Grouping adds a D&amp;D Beyond character's known languages as a single entry in the Other Proficiencies &amp; Languages box on the Roll20 sheet, rather than individual lines. correct. Prefix and Suffix optionally add text to the front (Prefix) and back (Suffix) of the imported character name. &nbsp;So for example, setting suffix to "DDB" would import your character as 'Thorin Oakenshield DDB' if their name in Beyond is 'Thorin Oakenshield.' &nbsp;This can be used to avoid overwriting your existing characters with their DDB versions or just to keep track of which characters have their master copies in DDB.
Oh Neat!&nbsp; Thank you.&nbsp; That's quite helpful.
1553695936

Edited 1553696390
Ammo
Pro
WE WANT YOU&nbsp; Ok, not really that dramatic.... but BeyondImporter needs an owner and maintainer. &nbsp; &nbsp;I was the the last developer working on it actively and I must now stop working on it. &nbsp; My engineering style and expectations aren't compatible with the way Roll20 and specifically the 5e OGL sheet are being developed, so I just won't continue. &nbsp; Please reach out to Robin if you can take over at this point, to be invited to the github project as a contributor. &nbsp;You might need to fork if you can't reach him. &nbsp;You'd of course be able to ask me (or Robin or Sillvva if you can hunt them down) any questions you have in the future, as I am not riding off into any sunsets at this time. Cheers, Ammo
1553807956

Edited 1553809403
Hi, I'm using the latest version of the script and it was fine a week ago but currently I can't import any new character. I keep running into the this error.&nbsp; TypeError: Cannot read property 'name' of undefined TypeError: Cannot read property 'name' of undefined at on (apiscript.js:179:81) at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1634:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:400
Our group just leveled up, and the script has become unusable: classes are missing, proficiency bonuses are not calculated correctly, sorcerer draconic bloodlines is duplicated on import, etc. But I understand that D&amp;D Beyond seem to change their format slightly over time, and volunteers have little time to update the script.
Hi Dejan. In case I broke something, I went back and made the most recent release that I didn't do (0.3.9) also available. &nbsp; So there are now two final releases, 0.3.9 and the more recent 0.4.0, which may not have enough testing on it. <a href="https://github.com/RobinKuiper/Roll20APIScripts/releases" rel="nofollow">https://github.com/RobinKuiper/Roll20APIScripts/releases</a> Cheers, Ammo