Files
website/src/content/docs/v4/reference/config.mdx
Peter-MJ-Parker 05b5961c16 fix tip
2025-04-12 10:52:01 -05:00

86 lines
1.8 KiB
Plaintext

---
title: Config
description: Configure your bot
sidebar:
order: 2
---
Your app needs a way to store constants and required variables for the framework to work.
A project should look like this: <br />
import { FileTree } from '@astrojs/starlight/components';
<FileTree>
- src
- commands/
- events/
- plugins/
- index.js
- config.js **we are here**
- .env
- .gitignore
- bun.lockb
- package.json
- README.md
- sern.config.json
- jsconfig.json # tsconfig.json if you are using typescript
</FileTree>
## Required
### `commands`
```js title='src/config.js'
export const commands = './dist/commands'
```
:::tip
`commands` also supports an array of folders!
```js title='src/config.js'
export const commands = ['./dist/commands', './dist/components']
```
This allows you to input your buttons, select menus, and modals separate from commands!
:::
We will pass this file so sern can start properly.
```js title='src/index.js'
import * as config from './config.js'
Sern.init(config)
```
## Optional
### events
Supply a directory for sern to register [event modules](/v4/reference/modules)
```js
export const events = "./dist/events"
```
### tasks
Supply a directory for sern to register [scheduled tasks](/v4/reference/tasks)
```js
export const tasks = "./dist/tasks"
```
### defaultPrefix
Supply a prefix for sern to enable text commands.
```js
export const defaultPrefix = "?"
```
### user defined
Feel free to supply any other constants / variables you may need.
```js
export const OWNERS = ['182326315813306368']
```
:::caution
Javascript + common.js is no longer supported! The following method will not work!
We use import/export context!
```diff
-exports.default = {
- commands : "./dist/commands",
-}
+export const commands = './dist/commands';
```
:::