Takaro module library

Takaro Modules

Takaro is a game server management platform for running, automating, and moderating multiplayer communities. These modules install into Takaro to add server automation, Discord workflows, economy systems, and moderation tools.

discord-7d2d-status-bridge

by Unknown
for 7 Days to Die
7 Days to Die Discord bridge with chat relay, localized monitoring events, blood moon notices, and a persistent customizable server status message.
communityTakaro 0.0.0

Components Overview

1
config
1
commands
6
hooks
2
Cron Jobs
1
functions
0
permissions

Hook Update: monitorJoin

July 24, 2026
New configuration options: privateBloodMoonNoticeOnFirstJoin, privateBloodMoonTodayMessage. Updated 1 hook implementation.

New Module: discord-7d2d-status-bridge

NEW
July 22, 2026
Updated to version latest. Added 1 command: serverstats. Added 6 hooks: discordChatRelay (discord-message), gameChatRelay (chat-message), monitorJoin (player-connected), monitorLeave (player-disconnected), monitorDeath (player-death), monitorServerStatus (server-status-changed). Added 2 scheduled tasks: updateStatus, bloodMoonMonitor. Added 1 function: discord-7d2d-status-helpers. New configuration options: language, chatChannelId, monitoringChannelId, relayDiscordToGame, relayGameToDiscord, monitorJoins, monitorLeaves, monitorDeaths, joinMessageTemplate, leaveMessageTemplate, deathMessageTemplate, deathWithReasonMessageTemplate, serverStartingMessageTemplate, serverOfflineMessageTemplate, emptyPlayerListText, unknownPlayerText, updateStatusMessage, statusTemplate, bloodMoonIcon, timeConsoleCommand, hordeIntervalDays, firstHordeDay, bloodMoonStartHour, bloodMoonEndHour, bloodMoonTodayMessage, bloodMoonStartingMessage, bloodMoonEndingMessage.

Configuration

Configure this module using the schemas below. The JSON schema defines the data structure, while the UI schema customizes how the configuration form is displayed.

Configuration Schema

Configuration Properties (29)

languageenum

Built-in message preset. Any non-empty message override takes precedence.

Default: en
Allowed values (2):
enpl
chatChannelIdstring

Discord channel ID for player chat relay.

Default:
monitoringChannelIdstring

Discord channel ID for system/death/join/leave/blood moon/status messages.

Default:
relayDiscordToGameboolean

Relay messages from the Discord chat channel into game chat.

Default: true
relayGameToDiscordboolean

Relay in-game chat messages to the Discord chat channel.

Default: true
monitorJoinsboolean
Default: true
monitorLeavesboolean
Default: true
monitorDeathsboolean
Default: true
privateBloodMoonNoticeOnFirstJoinboolean

Privately notify the first player online when the persisted Blood Moon phase is today or starting.

Default: false
joinMessageTemplatestring

Optional join-message override. Placeholder: {player}.

Default:
Constraints: maxLength: 500
leaveMessageTemplatestring

Optional leave-message override. Placeholder: {player}.

Default:
Constraints: maxLength: 500
deathMessageTemplatestring

Optional death-message override. Placeholder: {player}.

Default:
Constraints: maxLength: 500
deathWithReasonMessageTemplatestring

Optional death-message override when a reason is available. Placeholders: {player}, {reason}.

Default:
Constraints: maxLength: 500
serverStartingMessageTemplatestring

Optional server-online message override. Placeholder: {serverName}.

Default:
Constraints: maxLength: 500
serverOfflineMessageTemplatestring

Optional server-offline message override. Placeholder: {serverName}.

Default:
Constraints: maxLength: 500
emptyPlayerListTextstring

Optional text shown when no players are online.

Default:
Constraints: maxLength: 100
unknownPlayerTextstring

Optional fallback when an event has no player name.

Default:
Constraints: maxLength: 100
updateStatusMessageboolean

Update one persistent bot message with current server status instead of posting a new status every tick.

Default: true
statusTemplatestring

Optional server-status override. Placeholders: {onlinePlayers}, {playerList}, {day}, {time}, {bloodMoonIcon}, {serverName}.

Default:
Constraints: maxLength: 500
bloodMoonIconstring
Default: ⭒ 🩸
Constraints: maxLength: 50
timeConsoleCommandenum
Default: gettime
Allowed values (1):
gettime
hordeIntervalDaysinteger
Default: 7
Constraints: min: 1
firstHordeDayinteger
Default: 7
Constraints: min: 1
bloodMoonStartHourinteger
Default: 22
Constraints: min: 0, max: 23
bloodMoonEndHourinteger
Default: 4
Constraints: min: 0, max: 23
bloodMoonTodayMessagestring

Optional blood-moon-day message override.

Default:
Constraints: maxLength: 500
privateBloodMoonTodayMessagestring

Optional private first-player Blood Moon notice override. The selected language preset is used when empty.

Default:
Constraints: maxLength: 500
bloodMoonStartingMessagestring

Optional blood-moon-starting message override.

Default:
Constraints: maxLength: 500
bloodMoonEndingMessagestring

Optional blood-moon-ending message override.

Default:
Constraints: maxLength: 500

UI Schema

No UI schema defined. Configuration form will use default rendering.

About Configuration Schemas

The Configuration Schema defines the structure and validation rules for module settings. The UI Schema customizes how the configuration form is displayed in the Takaro interface, including field ordering, labels, and input types.

Commands (1)

These commands can be executed by players in-game. Each command has a trigger word, optional arguments, and executes JavaScript code on the server.

serverstats

/serverstatsTrigger Command

Description

Shows online player count, current day, time, and blood moon indicator.

Function Implementation

serverstats Function

JAVASCRIPT

Usage Example

Player types: /serverstats

About Module Commands

Commands allow players to interact with your module through chat. Each command has a trigger word that players type (prefixed with /), optional arguments for parameters, and a JavaScript function that executes when the command is used. Arguments are automatically validated and passed to the function.

Hooks (6)

These hooks respond to various game events automatically. Each hook executes JavaScript code when its specific event type occurs, allowing modules to react to player actions, system changes, and more.

Real-time Events

4 hooks

discordChatRelay

discord-messageEvent Type
Description
Relays Discord chat channel messages into game chat.
Function Implementation

discordChatRelay Hook Function

JAVASCRIPT
Event Details
Event Type:discord-message
Trigger:Automatic
Category:Real-time Events

gameChatRelay

chat-messageEvent Type
Description
Relays in-game chat messages to Discord chat channel.
Function Implementation

gameChatRelay Hook Function

JAVASCRIPT
Event Details
Event Type:chat-message
Trigger:Automatic
Category:Real-time Events

monitorJoin

player-connectedEvent Type
Description
Sends player join messages to the monitoring channel.
Function Implementation

monitorJoin Hook Function

JAVASCRIPT
Event Details
Event Type:player-connected
Trigger:Automatic
Category:Real-time Events

monitorLeave

player-disconnectedEvent Type
Description
Sends player leave messages to the monitoring channel.
Function Implementation

monitorLeave Hook Function

JAVASCRIPT
Event Details
Event Type:player-disconnected
Trigger:Automatic
Category:Real-time Events

System Events

1 hook

monitorServerStatus

server-status-changedEvent Type
Description
Sends server online and offline messages to the monitoring channel.
Function Implementation

monitorServerStatus Hook Function

JAVASCRIPT
Event Details
Event Type:server-status-changed
Trigger:Automatic
Category:System Events

Custom Events

1 hook

monitorDeath

player-deathEvent Type
Description
Sends player death messages to the monitoring channel.
Function Implementation

monitorDeath Hook Function

JAVASCRIPT
Event Details
Event Type:player-death
Trigger:Automatic
Category:Custom Events

About Module Hooks

Hooks allow your module to respond automatically to game events like player actions, server status changes, and chat messages. Each hook has an event type that determines when it triggers, optional regex patterns for filtering specific events, and a JavaScript function that executes when the conditions are met. Hooks are grouped by category for better organization.

Scheduled Jobs (2)

These jobs run automatically on a schedule defined by cron expressions. Each job executes JavaScript code at specific times or intervals.

updateStatus

*/5 * * * *Schedule

Description

Updates the persistent Discord server status message.

Schedule Details

Cron Expression
*/5 * * * *
Human-Readable Schedule

Every 5 minutes

Function Implementation

updateStatus Function

JAVASCRIPT

Cron Expression Format

minute hour day-of-month month day-of-week

Each field can contain numbers, ranges (1-5), lists (1,3,5), or wildcards (*). Use */n for intervals (e.g., */5 for every 5 units).

bloodMoonMonitor

* * * * *Schedule

Description

Checks 7D2D phase transitions every minute and sends blood moon day/start/end notices.

Schedule Details

Cron Expression
* * * * *
Human-Readable Schedule

Every minute

Function Implementation

bloodMoonMonitor Function

JAVASCRIPT

Cron Expression Format

minute hour day-of-month month day-of-week

Each field can contain numbers, ranges (1-5), lists (1,3,5), or wildcards (*). Use */n for intervals (e.g., */5 for every 5 units).

About Scheduled Jobs

Cron jobs allow your module to execute code automatically on a schedule. Each job has a cron expression that defines when it runs, and a JavaScript function that executes at those times. Jobs run server-side and can perform maintenance tasks, send notifications, or update game state automatically.

Functions (1)

Reusable JavaScript functions that can be imported and used by other module components like commands, hooks, and cron jobs. These promote code reuse and modularity.

discord-7d2d-status-helpers

functionReusable Component

Function Implementation

discord-7d2d-status-helpers Function

JAVASCRIPT

Import Usage

Import: import { discord-7d2d-status-helpers } from './utils';

About Module Functions

Functions are reusable JavaScript components that can be imported and used by commands, hooks, and cron jobs within your module. They promote code reuse, improve maintainability, and allow you to organize complex logic into modular pieces. Functions must be exported with proper ES6/CommonJS syntax to be importable by other components.