{"id":18927415,"url":"https://github.com/therebelrobot/roll20-api-boilerplate","last_synced_at":"2026-03-15T13:30:16.763Z","repository":{"id":42959480,"uuid":"229472572","full_name":"therebelrobot/roll20-api-boilerplate","owner":"therebelrobot","description":"An api script boilerplate for the Roll20 API (command-based)","archived":false,"fork":false,"pushed_at":"2023-01-05T03:28:29.000Z","size":147,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-31T18:58:01.696Z","etag":null,"topics":["dnd5e","dungeons-and-dragons","roll20","roll20-api","roll20-scripts"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/therebelrobot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-21T19:18:08.000Z","updated_at":"2023-09-08T18:01:30.000Z","dependencies_parsed_at":"2023-02-03T08:46:56.383Z","dependency_job_id":null,"html_url":"https://github.com/therebelrobot/roll20-api-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therebelrobot%2Froll20-api-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therebelrobot%2Froll20-api-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therebelrobot%2Froll20-api-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therebelrobot%2Froll20-api-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/therebelrobot","download_url":"https://codeload.github.com/therebelrobot/roll20-api-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239923215,"owners_count":19719105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dnd5e","dungeons-and-dragons","roll20","roll20-api","roll20-scripts"],"created_at":"2024-11-08T11:19:08.227Z","updated_at":"2026-03-15T13:30:16.729Z","avatar_url":"https://github.com/therebelrobot.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# roll20-api-boilerplate\nDeveloping for the Roll20 API shouldn't make your eyes bleed. Develop your script commands using modern javascript, compile it down to something compatible for Roll20, and profit!\n\nThis tool will make a `!module` command available in the chat by default. you can change the command name in `./src/meta.js`.\n\nThe subcommands of your module can be found in `./src/commands`. The only command that is here by default is `!module help`. If you add more, be sure to both add a handler and a meta file, and register them in their appropriate indexes.\n\n`debugLog` is a wrapper around `log` and `sendChat` that is dependent on the `debug` setting in `./src/meta.js`. This is, by design, very verbose. When you are ready to use your script without those logs, simply turn `debug` to false in the meta file, and you should be good to go.\n\n**Note: you should never need to change what is in `./src/lib` unless you are developing on this tool in specific.**\n\n***Note 2: I am not here to debug your roll20 scripts. I made this boilerplate so I could expedite my own development, and figured it could help other folk too, hence opening the source. Do not open issues here related to your own scripts, or scripts you make using this boilerplate, they will be summarily closed. If you have issues with this boilerplate in its current unaltered form, or have suggestions or PRs, those are welcome.***\n\n## Prerequisites\n- Node\n- Yarn (or NPM)\n\nOnce you've cloned the repo, run the following to install the dependencies:\n\n```\nyarn\n```\n\n## Development\nTo develop, run the following:\n\n```\nyarn dev\n```\n\nThis will start rollup in watch mode. Any changes made to the files in the `./src` directory will automatically be built into the `./build` directory.\n\n## Build\nTo build without watching for changes, run\n\n```\nyarn build\n```\n\nThis will run rollup once, which is good for small, predefined changes.\n\n## Use in Roll20\n\nAfter building or developing, you can find the compiled code in `./build/bundle.js`. Copy the contents of that file into the editor in your campaign (https://app.roll20.net/campaigns/scripts/\u003cGAME_ID_HERE\u003e)\n\nReset your sandbox, and enjoy your new commands!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherebelrobot%2Froll20-api-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherebelrobot%2Froll20-api-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherebelrobot%2Froll20-api-boilerplate/lists"}