100 lines
2.0 KiB
Markdown
100 lines
2.0 KiB
Markdown
# Star Kitten Discord Bot
|
|
|
|
A Discord bot for [EVE Online](https://www.eveonline.com/).
|
|
|
|
# [Click this link to use this bot!](https://discord.com/oauth2/authorize?client_id=1288711114388930601)
|
|
|
|
## Running the Bot
|
|
|
|
This bot runs on [Bun](https://bun.sh/)! To install, run one of the following commands.
|
|
|
|
_Linux & MacOS_
|
|
|
|
```bash
|
|
curl -fsSL https://bun.sh/install | bash
|
|
```
|
|
|
|
_Windows_
|
|
|
|
```bash
|
|
powershell -c "irm bun.sh/install.ps1 | iex"
|
|
```
|
|
|
|
---
|
|
|
|
Install dependencies.
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
### Link the Library & download static data
|
|
|
|
`star-kitten-lib` has not been published, so link to it locally before running this web project.
|
|
|
|
```bash
|
|
cd star-kitten-lib
|
|
bun link
|
|
cd ../web
|
|
bun link star-kitten-lib
|
|
```
|
|
|
|
### Download static eve reference data & Hoboleaks archive from [EVE Ref](https://everef.net/).
|
|
|
|
```bash
|
|
cd star-kitten-lib
|
|
bun get-data
|
|
```
|
|
|
|
### Initialize the sqlite database
|
|
|
|
```bash
|
|
cd star-kitten-lib
|
|
bun generate-migrations
|
|
bun migrate
|
|
```
|
|
Drizzle's migrations seems to fail on the first try sometimes, so just grab the .sql from the generation and run those against the kitten.db file to create the tables & indexes.
|
|
|
|
### Run the bot
|
|
Run the bot locally.
|
|
|
|
```bash
|
|
bun run dev
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
Create a .env file in the root directory with the following values:
|
|
|
|
```yaml
|
|
#General
|
|
BASE_URL=http://localhost:3000
|
|
DEBUG=true
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
LOG_LEVEL=debug
|
|
|
|
|
|
# EVE - https://developers.eveonline.com/applications
|
|
EVE_CLIENT_ID=YOUR_EVE_CLIENT_ID
|
|
EVE_CLIENT_SECRET=YOUR_EVE_SECRET
|
|
EVE_CALLBACK_URL=http://localhost:3000/auth/callback
|
|
ESI_USER_AGENT=ADD_YOUR_USER_AGENT_INFO_HERE
|
|
|
|
#Discord - https://discord.com/developers/applications
|
|
DISCORD_APP_ID=YOUR_APP_ID
|
|
DISCORD_CLIENT_SECRET=YOUR_CLIENT_SECRET
|
|
DISCORD_PUBLIC_KEY=YOUR_PUBLIC_KEY
|
|
DISCORD_BOT_TOKEN=YOUR_BOT_TOKEN
|
|
|
|
# ID of a test server to have immediate command refreshes
|
|
DISCORD_TEST_GUILD_ID=YOUR_TEST_SERVER_ID
|
|
|
|
# For using Janice's Appraisal API
|
|
JANICE_KEY=XXX
|
|
|
|
# For using Perplexities AI API
|
|
PERPLEXITY_API_KEY=XXX
|
|
|
|
```
|