You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.3 KiB
52 lines
2.3 KiB
2 years ago
|
# /create with Cloudflare Workers
|
||
|
|
||
|
A [slash-create](https://npm.im/slash-create) template, using [Cloudflare Workers](https://workers.cloudflare.com).
|
||
|
|
||
|
[![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/Snazzah/slash-create-worker)
|
||
|
|
||
|
## Getting Started
|
||
|
### Cloning the repo
|
||
|
You can either use degit to locally clone this repo without git, or [create a new repo from this template](https://github.com/Snazzah/slash-create-worker/generate) and clone that.
|
||
|
```sh
|
||
|
npx degit Snazzah/slash-create-worker
|
||
|
```
|
||
|
|
||
|
After that, make sure to install dependencies using npm or yarn:
|
||
|
```sh
|
||
|
npm install
|
||
|
# yarn
|
||
|
```
|
||
|
### Installing and setting up Wrangler
|
||
|
> Make sure to [sign up for a Cloudflare Workers account](https://dash.cloudflare.com/sign-up/workers) in a browser before continuing.
|
||
|
Install wrangler with npm or yarn:
|
||
|
```sh
|
||
|
npm install -D wrangler@latest
|
||
|
# yarn global add wrangler@latest
|
||
|
```
|
||
|
Read more about [installing wrangler](https://developers.cloudflare.com/workers/cli-wrangler/install-update).
|
||
|
|
||
|
Afterwards, run `wrangler login` to login to your Cloudflare account with OAuth:
|
||
|
```sh
|
||
|
wrangler login
|
||
|
```
|
||
|
|
||
|
Copy `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](https://dash.cloudflare.com/?to=/:account/workers) towards the right side.
|
||
|
|
||
|
### Filling in secrets
|
||
|
You can enter in environment secrets with `wrangler secret put`, here are the keys that are required to run this:
|
||
|
```sh
|
||
|
npx wrangler secret put DISCORD_APP_ID
|
||
|
npx wrangler secret put DISCORD_PUBLIC_KEY
|
||
|
npx wrangler secret put DISCORD_BOT_TOKEN
|
||
|
```
|
||
|
|
||
|
### Development
|
||
|
To 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`.
|
||
|
|
||
|
### Production
|
||
|
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`.
|