- Create your discord bot (https://discord.com/developers/applications)
- On the OAuth2 tab, set your redirect URL to
{API_URL}/init - Also on the OAuth2 tab get your
DISCORD_CLIENT_SECRET. - From the Bot tab, get your
DISCORD_TOKEN.
- On the OAuth2 tab, set your redirect URL to
- Copy
docker-compose.ymland.env.exampleto your server. - Rename
.env.exampleto.env, and fill in values forDISCORD_TOKEN,DISCORD_CLIENT_SECRET,API_URLat minimum. - Run
docker compose up -dto start the server. - If you have issues, run
docker logs -f oronder_serverto check logs. - Note that the frontend does not currently support alternative backends out of the box. As of now, you will need to manually set the api url in the Foundry addon.
- Server Member Intent
- Message Content Intent
see: https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes
- guilds.members.read
- bot
- General Permissions
- Read Messages/View Channels
- Manage Events
- Create Events
- Text Permissions
- Send Message
- Create Public Threads
- Create Private Threads
- Send Messages in Threads
- Manage Threads
- Embed Links
- Read Message History
- Mention Everyone
- Use External Emojis
- Add Reactions
- Create Polls
- Voice Permissions
- Connect #might be needed to record sessions
- Use Voice Activity #might be needed to tie voice to name
- General Permissions
- Callback
{API_URL}/init
SELECT m.title, pc_id, a.name
FROM missions m
CROSS JOIN LATERAL JSONB_ARRAY_ELEMENTS_TEXT(m.pcs) AS pc_id
JOIN actors a ON pc_id = a.id and a.guild_id = m.guild_id
WHERE m.title LIKE '%YOUR_MISSION_TITLE%'
order by a.name;
UPDATE missions
SET pcs = pcs || '["ECc9KbEwvqWTXbkW"]'::jsonb
WHERE missions.guild_id = 933858354177118228
AND missions.title = 'Goblin Caravan';
select name,
details -> 'level' as lvl,
details -> 'xp' -> 'value' as xp,
abilities -> 'str' ->> 'value' as str,
abilities -> 'dex' ->> 'value' as dex,
abilities -> 'con' ->> 'value' as con,
abilities -> 'int' ->> 'value' as int,
abilities -> 'wis' ->> 'value' as wis,
abilities -> 'cha' ->> 'value' as cha,
cast(abilities -> 'str' ->> 'value' as int) + cast(abilities -> 'dex' ->> 'value' as int) +
cast(abilities -> 'con' ->> 'value' as int) + cast(abilities -> 'int' ->> 'value' as int) +
cast(abilities -> 'wis' ->> 'value' as int) + cast(abilities -> 'cha' ->> 'value' as int) as stats_total
from actors
where guild_id = 933858354177118228
order by xp desc;
SET timezone = 'UTC';
ALTER TABLE missions
ALTER date_time TYPE timestamptz,
ALTER date_time SET DEFAULT now();