A slash-create service, built using Cloudflare Workers.
All command and component usage is designed to do the least operations possible for an interaction.
/counter- Initialize a counter for the current channelplay-classic- The default button, to handle the core game
If the counter runs out, the button disables itself upon the next interaction.
Setup instructions derived from template.
You can either use degit to locally clone this repo without git, or create a new repo from this template and clone that.
npx degit TinkerStorm/slash-counterAfter that, make sure to install dependencies using npm or yarn:
npm install
# yarnMake sure to sign up for a Cloudflare Workers account in a browser before continuing. Install wrangler with npm or yarn:
npm install -D wrangler@latest
# yarn global add wrangler@latestRead more about installing wrangler.
Afterwards, run wrangler login to login to your Cloudflare account with OAuth:
wrangler loginCopy wrangler.example.toml into wrangler.toml. Make sure to fill in your account ID in the config and update the name of the worker. You can find your account ID here towards the right side.
You can enter in environment secrets with wrangler secret put, here are the keys that are required to run this:
npx wrangler secret put DISCORD_APP_ID
npx wrangler secret put DISCORD_PUBLIC_KEY
npx wrangler secret put DISCORD_BOT_TOKENTo run this locally, copy .env.example to .dev.vars and fill in the variables, then you can run npm run dev (or yarn dev) to start a local dev environment and use something like ngrok to tunnel it to a URL.
To sync commands in the development environment, copy .env.example to development.env and fill in the variables, then run npm run sync:dev (or yarn sync:dev).
Note: When you create a command, make sure to include it in the array of commands in
./src/commands/index.ts.
To sync to production, copy .env.example to .env and fill in the variables, then run npm run sync. To publish code to a worker, run npm run deploy.