{"id":22856175,"url":"https://github.com/wave-play/scribble","last_synced_at":"2025-03-31T07:45:15.031Z","repository":{"id":237613070,"uuid":"794886854","full_name":"Wave-Play/scribble","owner":"Wave-Play","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-02T07:43:17.000Z","size":196,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T15:55:57.110Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/Wave-Play.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-02T06:46:47.000Z","updated_at":"2024-05-02T07:46:25.000Z","dependencies_parsed_at":"2024-05-02T20:37:27.320Z","dependency_job_id":null,"html_url":"https://github.com/Wave-Play/scribble","commit_stats":null,"previous_names":["wave-play/scribble"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wave-Play%2Fscribble","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wave-Play%2Fscribble/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wave-Play%2Fscribble/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wave-Play%2Fscribble/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wave-Play","download_url":"https://codeload.github.com/Wave-Play/scribble/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246436094,"owners_count":20776965,"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":[],"created_at":"2024-12-13T08:07:27.852Z","updated_at":"2025-03-31T07:45:15.011Z","avatar_url":"https://github.com/Wave-Play.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e✨ \u003cstrong\u003eGenerated with \u003ca href=\"https://roboplay.dev/create-robo\"\u003ecreate-robo\u003c/a\u003e magic!\u003c/strong\u003e ✨\u003c/p\u003e\n\n---\n\n# Scribble 🌈\n\nScribble is a multiplayer drawing game built for Discord Activities where AI comes up with a topic, and players have a few seconds to draw it. The AI then grades the drawings based on how well they match the topic using vision APIs. Highest score wins.\n\n➞ [🎮 **Video:** Watch Scribble in action](https://roboplay.dev/scribble/video)\n\n\u003cimg src=\"./public/terminal.png\" alt=\"Scribble screenshot\" width=\"600\"\u003e\n\n.\n\nBuild, deploy, and maintain your Discord activities with ease. With Robo.js as your guide, you'll experience a seamless, [file-based setup](https://docs.roboplay.dev/docs/basics/overview#the-robojs-file-structure), an [integrated database](https://docs.roboplay.dev/docs/basics/flashcore), [TypeScript support](https://docs.roboplay.dev/docs/advanced/typescript), and a multitude of [plugin-powered skills](https://docs.roboplay.dev/docs/advanced/plugins) to unlock along the way.\n\n➞ [📖 **Tutorial:** Creating a Discord Activity in seconds](https://dev.to/waveplay/how-to-build-a-discord-activity-easily-with-robojs-5bng)\n\n➞ [📚 **Documentation:** Getting started](https://docs.roboplay.dev/docs/getting-started)\n\n➞ [🚀 **Community:** Join our Discord server](https://roboplay.dev/discord)\n\n## Running 🏃‍♂️\n\nRun development mode with:\n\n```bash\nnpx robo dev\n```\n\nYour Robo refreshes with every change. 🔄\n\nA free Cloudflare tunnel is included for easy testing. You can copy and paste it into activity's URL mapping to test things out.\n\n\u003e **Psst...** Check out the [deployment instructions](#deployment) to keep it online 24/7.\n\n## App Development 🛠️\n\nYou can find your client-side code in the `/src/app` folder. This is where you can build your web app using React, Vue, or any other front-end framework.\n\nThings are powered by Vite under the hood, so you get the latest ES modules, hot module reloading, and more! ⚡\n\nTry editing the `main` file to get started! (`Activity.tsx` if you're using React)\n\n**➞** [📚 **Documentation:** App development](https://docs.roboplay.dev/docs/app/overview)\n\n#### Authenticating\n\nThe React template makes it easy to authenticate your activity with Discord. The `\u003cDiscordProvider\u003e` components in `App.tsx` accepts `authenticate` and `scope` props.\n\n```tsx\n\u003cDiscordContextProvider authenticate scope={['identify', 'guilds']}\u003e\n\t\u003cActivity /\u003e\n\u003c/DiscordContextProvider\u003e\n```\n\nYou can then get the SDK and other goodies from the `useDiscordSdk` hook!\n\n## Backend Development 🛠️\n\nYour server-side code is located in the `/src/api` folder. This is where you can build your API, webhooks, and other fancy server-side features.\n\nThis backend is powered by the [**Server Plugin**](https://github.com/Wave-Play/robo.js/tree/main/packages/plugin-api) - a powerful Robo plugin that creates an manages a Node `http` server for you. If you install Fastify, the server will automatically switch to it for better performance!\n\nEverything Robo is file-based, so you can create new routes by making new files in the `/src/api` directory. The file's name becomes the route's path. For example, let's try making a new route at `/health` by creating a new file named `health.js`:\n\n```js\nexport default () =\u003e {\n\treturn { status: 'ok' }\n}\n```\n\nEasy, right? Check out the [**Server Plugin documentation**](https://github.com/Wave-Play/robo.js/tree/main/packages/plugin-api) for more info!\n\n## Folder Structure 📁\n\nWhile the `api` and `app` folders are reserved for your server and client-side code, you are free to create anything else in the `/src` directory!\n\nFolders only become reserved when you install a plugin that uses them. For example, bot functionality uses the `commands` and `events` folders.\n\n## Plugins 🔌\n\nThis Robo boasts an intuitive plugin system that grants new capabilities instantly!\n\n```bash\nnpx robo add @robojs/ai\n```\n\n\u003e Swap out [`@robojs/ai`](https://github.com/Wave-Play/robo.js/tree/main/packages/plugin-ai) with your chosen plugin's package name\n\nWith that, your Robo automatically equips itself with all the features the plugin offers. Want to revert? Simply use [`robo remove`](https://docs.roboplay.dev/docs/advanced/command-line#plugins) to uninstall any plugin.\n\n**➞** [📚 **Documentation:** Installing plugins](https://docs.roboplay.dev/docs/advanced/plugins#installing-plugins)\n\nCrafting something unique in your Robo project? You can turn your innovations into plugins, be it specific functionalities or your entire Robo. Share your genius with the world!\n\n**➞** [📚 **Documentation:** Creating plugins](https://docs.roboplay.dev/docs/advanced/plugins#creating-plugins)\n\n## Deployment 🚀\n\nRun the `robo deploy` command to automatically deploy to **[RoboPlay](https://roboplay.dev)** for free once you're ready to keep your robo online 24/7.\n\n```bash\nnpx robo deploy\n```\n\n**➞** [🚀 **RoboPlay:** Hosting your Robo](https://docs.roboplay.dev/docs/hosting)\n\nYou can also self-host your robo anywhere that supports Node. Just make sure to run `robo build` followed by `npm start` (alias for `robo start` here):\n\n```bash\nnpx robo build\nnpm start\n```\n\nYou can also run `robo invite` (beta) to automatically generate a server invite to test it yourself or show it off! You can also use the **[Discord Developer Portal](https://discord.com/developers/applications)** to generate an invite as usual.\n\n```bash\nnpx robo invite\n```\n\nHappy coding! 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwave-play%2Fscribble","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwave-play%2Fscribble","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwave-play%2Fscribble/lists"}