Daria
Change languageEN
EnglishENFrançaisFREspañolESDeutschDE
Log inJoin the Community

Foundry VTT module · daria-foundry

Daria for Foundry VTT

Daria records your session’s audio and turns it into a transcript. This module adds what the microphone can’t hear: the dice, the spells, the items, and the conditions your party picked up along the way — placed on the same timeline as the words spoken.

See everything Daria does →

What it captures

  • Dice rolls, including roll kind, criticals and fumbles
  • Spell casts, including the slot level actually spent — and spells posted to chat without being cast, kept apart from the ones that were
  • Item uses, and items posted to chat without being used
  • Conditions and active effects gained or lost — Prone taken, Bless dropped
  • Conversation speakers, when the Conversation HUD module is active — a conversation opening or closing, and which participant the GM marks as speaking, along with their faction when it is shown. Daria uses these as hints to attribute the GM’s in-character speech to the right NPC in the transcript.
  • Images you show the table with “Show Players”, downscaled in your browser where it can decode them and always re-encoded on Daria’s side before they’re kept — never more than 1 MB leaves your browser
  • The portrait of named NPCs and monsters you control — their token art when they have none — once a combat has begun — when it begins and when they join one already under way

On the dnd5e system these arrive enriched, with the targeted token names on attack and damage rolls. Other game systems still get plain roll and effect capture.

What leaves your world

Only gameplay events, and only while a Daria recording is running. Specifically:

  • The module runs on the Game Master’s client only. Players’ clients send nothing.
  • Hidden rolls stay hidden. Whispered, blind and self-rolls are filtered inside Foundry and are never transmitted.
  • Effects are captured only for visible, player-owned actors. What you have hidden behind the screen stays there.
  • Conversations are captured only while shown to players. An invisible conversation is unrevealed prep, and its participants never leave Foundry. A participant whose name you conceal is reported as an unrevealed character — the name itself is never sent.
  • Two kinds of picture are transmitted. Each is downscaled in your browser where it can decode the source, always re-encoded to at most 1024 px on its long edge on Daria’s side before it’s kept, and never more than 1 MB leaves your browser: images you deliberately share with “Show Players” — from the image viewer or from a journal image page — with the title Foundry attached, and the portrait of named, GM-controlled combatants (their token art when they have none) once a combat has begun — when it begins and when they join one already under way. Never scene backgrounds, journal text, or images open on your own screen; never hidden tokens or hidden combatants until you reveal them; never your players’ own tokens; never unlinked copies such as “Goblin 3”. Each kind has its own setting to turn it off.
  • Chat messages are never sent. Not descriptions, not narration. A roll’s own flavor text does travel with it (capped at 500 characters), and each event carries the Foundry player’s display name alongside the character name.
  • The module checks in when it loads. It tells the server which module version, Foundry version and game system it is running — no world, campaign or player data — and the server answers whether your token is accepted, whether a recording is running, and whether your module needs updating. That answer is what you see in the banner at the top of the window when you open your world.
  • The module reports its own errors. If the module’s own code fails, it sends the error to the same server — its type, its message and where in the module it happened, with the module, Foundry and game-system versions — so we can fix it. Your Foundry server’s address is removed first and nothing from your world is added. Errors from Foundry itself or from your other modules are never sent, and at most twenty are sent each time your world loads.
  • Events are sent to the server on a regular cadence whenever a token is configured. Outside an active recording the server rejects the batch and stores nothing, so events stay buffered locally and are retried — a network outage does not lose data, and each event keeps the moment it happened, so a late delivery still lands at the right point of your session rather than wherever the recording had got to when it arrived.

Events are sent to https://hooks.daria.gg, authenticated with the API token from your campaign. Daria is hosted in the EU.

Requirements

  • Foundry VTT v12, v13 or v14
  • A Daria campaign on your Discord server
  • An API token, issued from your campaign’s page in the Daria web app

Install

In Foundry, open Add-on Modules → Install Module, paste this manifest URL into the field at the bottom, and click Install:

https://apps.daria.gg/foundry/module.json

Configure

Open Configure Settings → Daria — Game Event Capture. Only the Game Master sees these.

  • Daria API token — stored on your own client and remembered for this world alone, never synchronised to players. Paste the token from your campaign here; capture starts once it is set.
  • Capture dice rolls / spell casts / item uses / condition and effect changes / conversation speakers / images shown to players / combatant token art — seven independent switches, shared by the whole world. All on by default.
  • Debug logging — logs every captured event and flush to the browser console (F12). Off by default; turn it on if you are reporting a problem.

There is nothing else to configure — the module always talks to the hosted Daria service.

Support

Report a problem or ask a question in the #help forum on our Discord. Include your module version, Foundry version, game system, and anything the browser console printed.

License

The daria-foundry module is free to install, use and redistribute alongside the Daria service, for personal and commercial games alike. It is provided as-is, without warranty of any kind. This license covers the module only — it grants no rights to the Daria service, its name, or its artwork.

Changelog

0.13.0

  • Pictures you show from a journal are now captured. “Show Players” on a journal image page — whether it opens the page or shows the picture on its own — was missed until now, so a handout shown that way never reached your transcript; only the image viewer’s own button was caught. Text pages and whole journal entries are still never sent.
  • A combatant is now captured with its full portrait rather than its token art, which is often cropped to fit the token ring. The token art is still used for an NPC or monster that has no portrait of its own.
  • A named NPC or monster hidden when combat began — in the tracker or on the map — is now captured the moment you reveal it, instead of never. It is still sent only once, and only once combat has begun.

0.12.0

  • When something goes wrong inside the module itself, it now reports the error to Daria so we can fix it — including a failure while your world loads, which until now looked exactly like Foundry not being open. Reports go to the same server as your events, never carry world, campaign or player content or your Foundry server’s address, and never include errors from Foundry itself or from your other modules.

0.11.0

  • Pictures you show the table with the image viewer’s “Show Players” are now captured. Each one lands in the session transcript at the moment you showed it, so a handout or a portrait nobody described aloud is no longer missing from the record.
  • When a named NPC or monster you control joins a combat once it has begun — when it begins and when they join one already under way — its token art is captured too, and the transcript records who joined the fight at that moment. Never hidden tokens or combatants, never your players’ own tokens, and never unlinked copies like “Goblin 3”.
  • Only explicit shares and combatants once a combat has begun are captured: never scene backgrounds, journal pages, or images you open on your own screen. Pictures are downscaled in your browser where it can decode them and always re-encoded on Daria’s side before they’re kept, never more than 1 MB leaving your browser, and two new settings — “Capture images shown to players” and “Capture combatant token art” — turn each off.

0.10.0

  • An item or spell posted to chat on its own — dnd5e’s “Display in Chat”, or clicking an item that has nothing to roll — is now captured too. Until now only actual uses were, so a spell someone put in front of the table to read out left no trace in the transcript.
  • Those cards are recorded as shown rather than used, so your transcript reads “shows Fireball” and not “casts Fireball”, and no spell slot is reported against a spell nobody cast.

0.9.0

  • Your API token is now remembered per world rather than per browser. If you run more than one campaign from the same Foundry install, each world keeps its own token — previously they shared one, so a second world sent its rolls to the first campaign, or, if that campaign had no recording running, nowhere at all. Nothing to do when you update: a world that already had a token keeps it, and you only need to paste a token into a world that belongs to a different campaign.
  • The banner shown when your world loads now names the campaign you are connected to, so you can see at a glance that this world is feeding the right one.

0.8.0

  • The module now checks in with Daria when your world loads and tells you what it found: whether your API token is accepted, whether the server is reachable, whether a recording is running — and, new, whether your module version is out of date or too old for the server. Before, a missing or rejected token was silent, and you discovered it after the session by finding no dice in your transcript. The verdict appears as a banner at the top of the Foundry window — Foundry’s own notification — and disappears on its own. After that the module says nothing at all — no notifications during play, whatever happens — so it can never interrupt a scene. If the server goes away mid-session, captures are buffered and sent as soon as it answers again; the buffer holds a whole session’s worth — twelve hours of steady play — so even an outage that lasts the entire evening costs nothing.
  • Pasting or changing your API token re-runs that check straight away, so you find out whether it works while you are still in the settings dialog.
  • The check-in reports your module version, Foundry version and game system so support can answer questions without asking you to open a console. No world or campaign data is included.

0.7.0

  • Conversation HUD capture: conversation start and end, and the participant the GM marks as speaking — used as speaker hints in session transcripts. Requires the Conversation HUD module; invisible conversations are never sent, concealed participant names are reported as an unrevealed character, and the speaker’s faction is included when shown.

0.6.0

  • Published module documentation and support channel; no gameplay changes.

0.5.0

  • Condition and effect capture for visible, player-owned actors.
  • dnd5e enrichment: roll kind, criticals and fumbles, spell slot levels, targeted token names.
  • Local buffering with batched flushes, so short outages do not lose events.
DariaDaria
Made with ♥ in France 🇫🇷·Hosted in the EU 🇪🇺
FeaturesCommandsFAQFoundry moduleDaria and the other session toolsCommunitydaria.gg
D&D 5eDaggerheartPathfinder 2eCall of CthulhuVampire: The MasqueradeCyberpunk REDAlien: The Roleplaying Game
PrivacyTermsLegal notice

Game system names are trademarks of their respective owners. Daria is an independent service, not affiliated with or endorsed by any of them.