A character sheet, dice roller, and discord remote for Star Wars Tabletop RPGs.
Streamlines the online RPG experience by sending FFGNDS Discord Dice Roller commands to Discord from the push of a button on your character sheet.
Download the latest build from the releases page.
Clicking on the .exe
file will automatically run the Installer. It will look like a green animated box in the middle of your screen, and will automatically install to your default drive's Program Files.
Install the .deb
file by running sudo dpkg -i NAME_OF_DEB_FILE_GOES_HERE
.
The default save directory is in the .config
folder.
Press the plus in the top right corner to create a new character.
Press the arrow pointing down in the top right corner to import a character.
Open a character, press the arrow pointing up at the top to export a json file.
Warning Connecting this app to Discord is technically prohibited by the Discord TOS and can lead to the account block. We don't take any responsibility for blocked Discord accounts.
If you want to connect the app to your discord:
- First you will need to get your discord token, The following has been copied from Discord.js documentation.
- Log into discord in your browser.
- Press CTRL+SHIFT+I to open the inspector.
- Click on the "Console" tab
- Paste the folowing into the console(It will automatically be copied to your clipboard and loged to the console)
window.webpackChunkdiscord_app.push([ [Math.random()], {}, req => { for (const m of Object.keys(req.c) .map(x => req.c[x].exports) .filter(x => x)) { if (m.default && m.default.getToken !== undefined) { console.log(m.default.getToken()) return copy(m.default.getToken()); } if (m.getToken !== undefined) { console.log(m.getToken()) return copy(m.getToken()); } } },]); console.log('%cWorked!', 'font-size: 50px'); console.log('You now have your token in the clipboard!', 'font-size: 16px');
- Now that you have your Discord token, press the gear icon at the top left of the screen to open Global Settings.
- Paste your Discord token into the text box.
- Press OK (This will log you in).
- Get the Discord Channel ID from your Discord Server Admin with the FFGNDS Discord Dice Roller bot installed.
- This can be done, as an admin, by right clicking on a channel and clicking
Copy ID
.
- This can be done, as an admin, by right clicking on a channel and clicking
- Select a character and press the gear icon at the top of the screen to open Character Settings.
- Paste Channel ID into the channel ID text input.
- Test it out by clicking
This app uses an Electron backend and a React.js frontend.
The Electron side almost exclusively handles i/o operations, all of the important features are happening in the React.
- npm
- run
npm install
to install all requirements. - run
npm start
to start the electron app.
- run
npm run make
to make a build for your system (i.e. Windows users can only make Windows builds). the output should be in theout
folder.
- The entry point of the app is in
main.js
at the top level. - The entry point for the frontent app is
template/javascript/main.js
- There are 2 really important global variables
window.api
- How the app calls the backend. (reading/writing to disk, handling discord, etc...)
window.data
- The app is set up as a pseudo Model View Controller app where
window.data
is the model. - Components can change
window.data
and then add hooks to listen whenwindow.data
has changed.
- The app is set up as a pseudo Model View Controller app where
- All icons are in
IconFonts.woff2
and defined inicons.css
.