{"id":13721169,"url":"https://github.com/remix-run/remix-discord-bot","last_synced_at":"2025-10-19T11:30:34.909Z","repository":{"id":38678668,"uuid":"506679289","full_name":"remix-run/remix-discord-bot","owner":"remix-run","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-19T13:50:05.000Z","size":1119,"stargazers_count":40,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-29T13:11:24.424Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/remix-run.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-23T14:44:38.000Z","updated_at":"2023-12-31T17:29:54.000Z","dependencies_parsed_at":"2023-01-19T18:18:50.950Z","dependency_job_id":null,"html_url":"https://github.com/remix-run/remix-discord-bot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remix-run%2Fremix-discord-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remix-run%2Fremix-discord-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remix-run%2Fremix-discord-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remix-run%2Fremix-discord-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/remix-run","download_url":"https://codeload.github.com/remix-run/remix-discord-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237116518,"owners_count":19258265,"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-08-03T01:01:13.269Z","updated_at":"2025-10-19T11:30:34.477Z","avatar_url":"https://github.com/remix-run.png","language":"TypeScript","funding_links":[],"categories":["Other"],"sub_categories":[],"readme":"# Remix Discord Bot\n\nThis is the Remix Discord Bot. It's hosted on fly. It runs alongside an actual Remix app (Indie Stack) which we may use to have some kind of UI for controlling the bot and stuff. Who knows. It was just nice to do this so we'll have a persistence layer if we decide we need that.\n\n## Development\n\nIf you're going to be doing much with the bot, I **strongly advise** you take just 10 minutes to setup your own test bot and server for local development.\n\nYou'll need to create your own discord server for local development and manual testing (automated testing of Discord bots is extremely difficult and basically not worth it). You'll also need to create your own bot. It should take ~10 minutes max. Create a [discord server](https://support.discord.com/hc/en-us/articles/204849977-How-do-I-create-a-server-), then follow [the instructions here](https://discordjs.guide/preparations/setting-up-a-bot-application.html) to create a bot application and [add it to your server](https://discordjs.guide/preparations/adding-your-bot-to-servers.html).\n\nOnce you have that, then copy the `.env.example` to `.env` and put in values for everything (you'll need to create channels for several of them).\n\nNext run:\n\n```\nnode ./other/deploy-commands.js\n```\n\nThat will configure your server to have the slash-commands our bot expects.\n\nNext, run:\n\n```\nnode ./other/deploy-emoji.js\n```\n\nThis will update your server with all the emoji reactions the bot has.\n\nNext, run:\n\n```\ncp ./bot/src/playground.example.ts ./bot/src/playground.ts\n```\n\nThat has things setup for you to play around to make the bot do whatever you'd like. Once you're ready to commit to something then stick it in the appropriate file in the `bot/src` directory.\n\nIf you'd like, you can make your `playground.ts` file (which is gitignored) have this for its contents:\n\n```js\nimport \".\";\n```\n\nAnd now it'll just do what the actual bot code does. However you want to develop is fine.\n\nTo run the playground file, run:\n\n```\nnpm run play:bot\n```\n\nThis will start the playground file in watch mode. Any change you make will trigger it to be re-run which should make development pretty quick despite no automated tests.\n\nIf you'd like to run the bot and the Remix app together, run `npm run dev`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremix-run%2Fremix-discord-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremix-run%2Fremix-discord-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremix-run%2Fremix-discord-bot/lists"}