Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

242 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ACT Discord Triggers logo

ACT Discord Triggers

Build Plugin License: MIT

An Advanced Combat Tracker (ACT) plugin that plays your triggers β€” text-to-speech and sound effects β€” through a Discord bot in a voice channel, so your whole party hears them.

Works with ACT Custom Triggers, Triggernometry, and Triggevent.

πŸ”€ Maintained fork. This is the actively maintained continuation of Makar8000/ACT-Discord-Triggers, revived after Discord's DAVE encryption rollout broke the original in early 2026. See Acknowledgments for full credit to the original author.

Screenshots

Output β€” Discord bot Output β€” this PC (local)
Output tab in Discord bot mode β€” connection, voice channel, audio quality Output tab in local mode β€” local playback volume
Text-to-Speech β€” engine & voice Sound β€” effects & mastering
Text-to-Speech settings tab Sound settings tab

Features

  • πŸ–₯️ Two output modes β€” stream triggers to a Discord voice channel for the whole party, or play them locally on this PC's speakers with no bot or Discord login required. Switch on the Output tab.
  • πŸ”Š TTS in voice chat β€” fire trigger text-to-speech straight into a Discord voice channel.
  • 🧠 Neural voices β€” an optional ONNX engine plays natural-sounding neural voices (60+ across several languages), downloaded on demand. Or stick with the offline Windows (SAPI) system voices β€” no download, nothing extra to install.
  • 🎡 Sound-file triggers β€” play sound effects through the bot in .wav, MP3, OGG, or FLAC (MP3/OGG/FLAC via Triggernometry or Triggevent).
  • 🎚️ Concurrent playback β€” overlapping triggers mix together instead of queueing, so nothing gets dropped or delayed.
  • 🎲 Random sound effects β€” optionally add a random audio effect (echo, reverb, pitch-shift, and more) to triggers as they play.
  • πŸ“ˆ Auto-leveling β€” perceptual LUFS loudness matching evens out the volume so every callout and sound plays at a consistent level.
  • πŸŽ›οΈ Master limiter β€” a look-ahead brickwall limiter rides overlapping triggers down to a true-peak-safe ceiling, so simultaneous sounds never clip.
  • πŸ“‘ Selectable audio quality β€” choose the Discord voice bitrate (48 / 96 / 128 kbps) to trade bandwidth for clarity.
  • πŸ” Discord DAVE support β€” speaks Discord's end-to-end voice encryption, which is now required to join voice channels.

Requirements

Node.js is bundled in the release archive β€” you do not need to install it separately.

Installation

  1. Download the latest ACT_DiscordTriggers-*.zip from the Releases page.
  2. Right-click the downloaded zip β†’ Properties β†’ tick Unblock β†’ OK. (Windows flags node.exe/DLLs downloaded from the internet; skipping this can trip SmartScreen or antivirus.)
  3. Extract it into your ACT plugins folder: %AppData%\Advanced Combat Tracker\Plugins. You should end up with a Plugins\ACT_DiscordTriggers\ folder containing ACT_DiscordTriggers.dll, node.exe, bundle.js, and node_modules\. Keep all of these files together in that folder.
  4. In ACT, open the Plugins tab β†’ Browse…, select ACT_DiscordTriggers.dll inside that folder, and click Add/Enable Plugin.

Setup

Follow the First-Time Setup Guide to create a Discord bot, invite it to your server, and connect it to the plugin. From there:

Updating

Replace the whole plugin folder with the new release β€” don't just swap the .dll. The plugin runs alongside the bundled node.exe / bundle.js / node_modules/, and those are updated together.


For developers

The plugin targets .NET Framework 4.8 (the only runtime ACT loads), but Discord voice now runs in a separate Node.js process. This is what makes DAVE possible without dropping ACT compatibility:

ACT (net48) ─loads─▢ ACT_DiscordTriggers.dll (net48)
                            β”‚ spawns
                            β–Ό
                     node.exe + bundle.js (discord.js + @snazzah/davey)
                            β–²
                            β”‚ named pipe (length-prefixed JSON frames)
                            β–Ό
                ACT_DiscordTriggers.dll IPC client

Discord enforced DAVE end-to-end encryption on voice in early 2026, and Discord.Net 3.19 (the first version with DAVE) dropped .NET Framework support β€” so the old in-process voice path became unfixable. Moving voice into a bundled Node bridge keeps ACT on net48 while staying current with Discord. The full design rationale and alternatives considered are documented in CLAUDE.md.

The audio chain

How a trigger becomes Opus packets β€” the complete signal flow from C# synthesis through the bridge's DSP (r8brain resampling, LUFS auto-leveling, the float64 mix bus, the look-ahead master limiter) to the Discord voice socket, with diagrams and a full numeric reference β€” is documented for contributors and audio engineers in docs/AUDIO-CHAIN.md. The ranked roadmap for taking the realtime path pro-grade lives in docs/AUDIO-PIPELINE.md.

Building

One command from a clean clone produces release/ with everything an end user drops into ACT's plugins directory:

cd DiscordBridge-node && npm ci && cd ..
pwsh ./build.ps1

build.ps1 builds the plugin (dotnet build β€” net48 reference assemblies auto-restore via NuGet, Costura.Fody merges into a single DLL), type-checks and bundles the bridge, copies node.exe, stages the external node_modules/, runs a spawn self-test (asserts BRIDGE_READY), and assembles release/.

For bridge-only iteration, use the npm scripts in DiscordBridge-node/: npm run typecheck, npm run bundle, npm test.

Tests

dotnet test ACT_DiscordTriggers.Tests/ACT_DiscordTriggers.Tests.csproj   # C# (net48): protocol + IPC + integration
cd DiscordBridge-node && npm test         # JS (tsx + node:test)

Integration tests require the bridge to be built first (they spawn DiscordBridge-node/dist/node.exe with bundle.js).

Built with

Acknowledgments

This project began as a fork of Makar8000/ACT-Discord-Triggers by @Makar8000, who created and maintained the original plugin. The DAVE rewrite landed as PR #82 upstream, after which maintenance was handed off to this fork. All credit for the original design and years of upkeep goes to Makar8000 β€” thank you.

License

MIT β€” Copyright (c) 2017 Marcus Terry, Copyright (c) 2026 JoΓ£o Amaro Lagedo.

About

πŸ”Š An Advanced Combat Tracker (ACT) plugin that plays your triggers β€” text-to-speech and sound effects β€” through a Discord voice bot, so your whole party hears them. Works under Discord's mandatory DAVE end-to-end voice encryption via a bundled Node.js bridge.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages