Zum Hauptinhalt springen

One-Word Story

Collaborative storytelling game where each member adds exactly one word at a time.

Ein-Wort-Geschichte
Kollaboratives Geschichtenerzählen: Jeder Nutzer fügt nacheinander ein Wort hinzu
Dieses Modul ist aktuell nur für Nutzer mit Early-Access verfügbar.
Dieses Modul speichert Daten in der Datenbank deines Bots.
Dieses Modul erstellt einen Haupt-Slash-Befehl auf deinem Server.
Dieses Modul hat 2 Konfigurationsdateien.
Dieses Modul wird auf über 100 Servern auf SCNX aktiv verwendet.
Dieses Modul ist bei jedem Plan kostenlos dabei. Mehr über Preise erfahren.

Features

  • Designate one or more channels as story channels where members build a story together, one word per message.
  • Configurable success reaction added to every accepted word, with optional auto-removal after 5 seconds.
  • Anti-double-post protection: by default, a user cannot add two words in a row.
  • Deletion protection: if the user who posted the most recent word deletes their message, the bot reposts the last accepted word so the story stays readable.
  • Optional cap on maximum story length: once the cap is reached, no more words are accepted until a moderator ends the round.
  • Optional idle hint that pings the moderator role once after a configurable number of hours of inactivity, suggesting the round be ended.
  • Optional channel topic that updates after every accepted word with the latest word and total word count.
  • Optional strike system that can restrict access for users who repeatedly post invalid messages.
  • Milestones that reward users with roles or messages after contributing a configurable number of words to a single story.
  • Archive channel: when a moderator ends a round, the finished story is posted (and pinned) in a separate archive channel together with a contributor list.

Setup

  1. Enable the module in your SCNX dashboard.
  2. In the configuration, add at least one channel to the "Channels" list.
  3. The bot needs the "Send Messages", "Add Reactions", "Manage Messages", and "Manage Channels" permissions in the configured channels (the last one is required for the channel topic feature). If you configure an archive channel, the bot also needs "Send Messages" and "Manage Messages" (for pinning) there.
  4. Optionally configure a moderator role - members with this role (or with the "Manage Messages" permission, if no role is set) can run the mod-only commands.

Usage

In a configured story channel, members send messages containing exactly one word. The bot reacts with the configured success emoji to confirm the word was accepted, and optionally updates the channel topic. Invalid messages (more than one word, special characters, double-post by the same user, ...) are removed and the user is shown a brief hint that auto-deletes after 8 seconds.

When a moderator decides the round is done, they run /word-story end. The full story is rendered into an embed with all contributors and (if configured) posted to the archive channel before the channel state is reset.

Commands

Dokumentation Verstehen
In dieser Dokumentation bezeichnen wir eine verpflichtende Slash-Befehl-Option mit dem Namen name und dem Typen Typ als name:<Typ>. Optionen, die nicht Pflichtfelder sind, werden als [name:<Typ>] angegeben. Wenn sich die Aktionen eines Befehls zwischen Pflichtfeldern und Nicht-Pflichtfeldern sehr unterscheiden, listen wir sie eventuell separat.
Beispiele
  • /moderate ban user:<Mitglied>: Dieser Befehl (/moderate ban) hat nur eine verpflichtende Option mit dem Namen "user", die nur ein Mitglied akzeptiert.
  • /moderate ban victim:<Mitglied> reason:<Text>: Dieser Befehl (/moderate ban) hat eine Option mit dem Namen "victim" als Pflichtangabe, die nur ein Mitglied akzeptiert, und ein weiteres Pflichtfeld mit dem Namen "reason", das jeglichen Text als Wert akzeptiert.
  • /moderate ban victim:<Mitglied> reason:<Text> [proof:<Anhang>]: Dieser Befehl (/moderate ban) hat eine Option mit dem Namen "victim" als Pflichtangabe, die nur ein Mitglied akzeptiert, und ein weiteres Pflichtfeld mit dem Namen "reason", das jeglichen Text als Wert akzeptiert. Zusätzlich gibt es eine optionale Option mit dem Namen "proof", die einen Anhang als Wert akzeptiert.
CommandDescription
/word-story statusShows the current word count and the last 30 words of the story (ephemeral).
/word-story fullShows the full current story in an ephemeral embed.
/word-story statsShows a top-15 contributor leaderboard for the active story (ephemeral).
/word-story end [title:<Text>]Moderator-only. Ends the active round, posts the finished story to the archive channel (if configured), and resets the channel for a new round.
/word-story new [opening:<Word>]Moderator-only. Starts a fresh round in an empty channel. Optionally seeds the story with a single opening word.

Configuration

In this configuration file, you can configure the One-Word Story game. Open it in your dashboard.

FieldDescription
ChannelsChannels in which the One-Word Story game runs.
Archive channelChannel where finished stories are posted (and pinned) when a moderator runs /word-story end. Leave empty to disable archiving.
Moderator roleRole required to run mod-only commands (/word-story end, /word-story new). Leave empty to require the "Manage Messages" permission.
Success-ReactionThe emoji the bot reacts with when a word is accepted.
Remove reactions after 5 seconds?If enabled, the success reaction is removed after 5 seconds to keep the channel clean.
Only one continuous message per userIf enabled, users cannot contribute two words in a row.
Message on wrong inputThe message sent when a user provides invalid input (auto-deleted after 8 seconds).
Protect against users deleting the last word?If enabled, the bot reposts the last accepted word if its message gets deleted.
Deletion protection messageOnly visible if deletion protection is enabled. The message sent when a user deletes the last accepted word.
Cap maximum story length?If enabled, no further words are accepted once the story reaches the configured length. A moderator must run /word-story end to start a new round.
Maximum story lengthOnly visible if the cap is enabled. Number of words at which the round automatically locks.
Message when story reaches the capOnly visible if the cap is enabled. Sent the first time the cap is hit in a round. Subsequent over-cap messages are deleted silently.
Send idle hint to moderators?If enabled, the moderator role is pinged once after a configurable number of hours without a new word, suggesting the round be ended.
Idle hint after X hoursOnly visible if the idle hint is enabled. Hours of inactivity before the moderator role is pinged.
Idle hint messageOnly visible if the idle hint is enabled. The message used for the idle ping.
Restrict users who repeatedly post invalid messages?If enabled, users who reach the configured threshold of wrong messages are restricted (either by removing their "Send Messages" permission or by adding a strike role).
Amount of wrong messages to trigger actionOnly visible if strikes are enabled. Wrong messages a user has to send to trigger restriction.
Give role on action, instead of removing permissionOnly visible if strikes are enabled. If enabled, the strike role is added to the user instead of removing their "Send Messages" permission.
Role given when strike threshold reachedOnly visible if the option above is enabled. The role given to users when they reach the strike threshold.
Message when user gets actionedOnly visible if strikes are enabled. The message sent when a user reaches the configured strike count.
Channel topic template (leave blank to disable)Channel topic set after each accepted word. Available placeholders: %lastword%, %firstword%, %count%.

Milestones

In this configuration file, you can set up milestones to reward users for contributing words to a single story. Open it in your dashboard.

FieldDescription
Word countThe number of accepted words a user must contribute in a single story to reach this milestone.
RolesRoles given to the user when they reach this milestone (optional).
MessageA congratulatory message sent when the user reaches this milestone (auto-deleted after 10 seconds).

Troubleshooting

The bot is not reacting to messages in the story channel
  • Make sure the channel is added to the "Channels" list in the configuration.
  • Make sure the bot has the "Add Reactions", "Send Messages", and "Manage Messages" permissions in the channel.
The channel topic is not updating
  • Make sure the bot has the "Manage Channels" permission in the story channel.
  • Discord rate-limits channel topic edits aggressively - it may take a moment for the topic to update after a flurry of words.
Finished stories are not being archived
  • Make sure an archive channel is configured.
  • Make sure the bot has "Send Messages" and "Manage Messages" (for pinning) permissions in the archive channel.

Stored data

The following data is being stored about every story channel:

  • The channel ID
  • The list of accepted words, each with the contributing user ID and message ID
  • A count of accepted words per contributing user
  • The ID of the user who posted the most recent word
  • Timestamps for when the round started and when the last word was added
  • Internal flags used for cap warnings and idle hints

To remove all data stored by this module, purge the module database.

Brauchst du mehr Hilfe?
Findest du nicht, wonach du suchst? Unser Team hilft dir gerne.