Skip to content

meta.features

Orciument edited this page Mar 20, 2025 · 9 revisions

List of feature ideas that could possible be implemented in the future. These are not tracked via issues or project boards because of the number of ideas, and almost none of them being fully thought through.

1.0 MVP Feature list

Must have features so replace the phantombot for us.

  • Commands
    • Patterns A Pattern (or Command) that can be registered via code and will match all Twitch Chat messages that match the pattern. If a message matches a callback is executed with the message.
    • Templates A String that can be called via code and supplied with named arguments for string interpolation. The result is send to Twitch or other services
    • command reminder
      • date and text to remind the mod of something to do with a command
      • a popup is shown between the search bar and the results table with a list of command id and reminder text for all commands to be currently reminded
  • Timer
  • Giveaways
    • (maybe) a simple captcha, like copying a string, or answering a very simple math question should be required for any truely desctructive action (an action where data is lost, or nor immediately recoverable), or something that would look really bad to the viewers
    • complete deletion should be almost impossible, only archiving
    • no full reset button for giveaways (that resets all values to the default and deletes the tickets)
    • a refund all button.
    • confirmation and a scheme to automatically adjust the amoubt tickets of users if the ticket cost is changed -> Possible Schemes
    • no technically difference between raffles and ticket raffles (just a ticket limit of 1)
    • TODO change name to giveaway presets to avoid confusion with string templates
  • Alerts
  • Coins & Watchtime
  • Stream Info
  • HealthManager
  • OauthManager
  • WebConsole
  • Account management

Possible Feature Ideas

The ideas in this list are not equally likely to be implemented and are at different stages of proposal. There order on this list does not indicate anything.

  • official support for entering a giveaway for another user
    • is this a feature that is wanted?
    • maybe as a a argument for the command, like: !gwCommand [ITICKET AMOUN: NUMBER] [TARGET USER?: STRING]
      • this could maybe be confusing for some users, and this could happen on accident by just tagging someone
    • should a user be able to split only some of his tickets for someone else
    • we should just enter the user into the gw as normal and treat the user as a symlink to the other user
    • maybe just enter over the website
  • chatHistory
    • a better twitch message history
    • displayed like a normal twitch popout chat
    • a messages are persisted ourself, with timestamp, name, userId, message, and user color
    • a search box lets the user jump to a specific date, filter by message text and user name, and user ID
    • some other mechanism needs to be provided to display all all usernames that a user (user id) had (in our chat)
    • view last time someone was in the chat (for when we need to contact someone because of a GW)
  • event Simulator
    • a system to simulate events from external sources like tipeee
    • these events would need to be marked as fake in some way, they should propagate through the system as normal (including sending messages to dc and twitch), just not be persisted and send to external consumers (like a rss feed).
  • countdowns für alles mögliche (normale zeit countdowns)
  • counter
    • command that counts up and down for a named conter
    • command to get value, add [number, default 1] sub [number, default 1], set [number]
  • RSS Feeds A public RSS feed for events like Stream start and stopp, canceled streams, and special streams (and edits to these events)
  • A Website where viewer can see there coins, watchtime, and active (and maybe past) Giveaway participations (old M4Y site)
  • the PepoG site A Site to filter the pepoG notes for inappropriate stuff. A Site to rank pepoG Notes (ref: Tom Scotts ranking everything video). And a site to see the top rankings (and maybe a search) A Command to print a (appropriate) pepoG note to the chat (!weisheit) (maybe a bit biased to the top of the ranked notes, because otherwise it could be a bit boring)
  • function support for string Templates
  • parameter support for functions
  • (if parameter support happens) steam api endpoint to query current cost (and sale) of a game (id)
  • commands that cost channel points (more that they can only be triggered from within text fields of a specific cannel point reward)
  • Donation Goals A panel to manage active (and paused) donation goals A Command to display the status of the current goal, a extension to the allert to display the goal status
  • usage information for patterns (not commands, but patterns specifically) Show how often a commands was used over the last X streams (and maybe in total) so that we can remove patterns that just aren't used (maybe display a list of the least used once?)
  • Auto deleting vip overridden messages in emote only (vips can normally send non emote messages in emote only)
    • Option to rebuild emote only completely so that it allows FFZ and 7tv emotes. Readability for normal users would suffer
  • giveaway item Management system
    • custom form to send to winner to provide their information
    • automatically send the (confirmed) winner the form link
    • a page to see the state of a winner (waiting for form submit, waiting for packaging, waiting for delivery to post office, Done/waiting for delivery, ...)
    • a page for the streamer to see open shipments, and set status on shipments
    • a page for the viewer to see the status of their delivery
    • Status system does not go further than delivery to post office, no tracking links will be provided (because of technical reasons, and the small size of most shipments not getting a tracking link from the post office)
    • (email) notifications to the viewer about the status
  • custom poll overlay for the streamer (as obs browser source)
  • replacing some/all of the tipeeeStream overlay, with animated alerts and sound on alert
  • custom chat overlay that displays ffz emotes (and with all the badged shown or hidden as we want)
  • Ausfakk (canceled stream) calendar
    • with stated reasons, more infos, and as automated as possible
    • maybe community support is needed to create these events from discord/whatsapp messages
    • a group of trusted community members would be given access to a specific panel page to create these events
  • Subbaton/Wanderstream tool A Tool to automatically increase a value for a donation. This should be as general as possible, so it should cover subbatons and the wanderStreams. How this should be achieved is not clear yet. It should support retroactively changing the price of something (the current amount of time/distance/etc.) would be modified. And changing the price for all new donations/entries. Needs to support multiple amounts for different donation types: tipeee, twitch sub, bits, twitch sub tiers (because the payout is different). It would be nice to also be able to graph the remaining time/distance/etc.
    • can pause the timer
    • is better than the tipeee one
  • Wörterbuch, user created sets of text strings. In a template a set can be specified and a random string from the set is returned and put into the string. (same as !info using readFileRand but with a ui and not a file on a remote server)
  • display die percentage of non-sub users (to help in deciding if to start an ad)
  • (if support in FFZis added) receiving commands, from mods, per whisper. This would allow mods to buttons with FFZ and trigger moderation actions in the bot, as an authenticated user, without sending a public message in the chat. Essentially this would be a integration into the default twitch ui
  • donation wall, aggregates the donations in a specific timeframe in a timestable maner, and highlights the differences between write-down sessions
  • kickstarter alerts, sends chat alerts if the kickstarter campagne reaches a goal/stretchgoal, make a big jump in money pledged, or reaches some % of funding. Updates (Text Posts) from the creators would explicitly not be send as an alert
  • User specified styles for the panel ui (saving and loading their custom css from the database)

Discussion of possible reactions to ticket cost change in giveaways

Diskussion of possible schemes to handle changes in the ticket price.

refund all tickets (not recommended)

Not recommended because it would unregister all users from the giveaway, this would solve this issue but all users that are not actively in the chat at the time the cost is changed would likely miss this change completely and would loose any change they had to win. If this behaviour is wanted it will also be possible to pause the giveaway, refund all, change the price and open again.

try to automatically buy the same amount of tickets as the user had before

This option would try to keep the same amounts of tickets as bevor. If a user had 10 tickets, and the price would be increased, the additionally needed coins would be taken from the user. Same in Revers if the cost is reduced. This would have the benefit that the chance distribution would be kept exactly the same, if all users have enough coins. If one user has not enough coins to pay the difference than as many tickets as possible would be bought. This would not only decrease the chance the user would have to win, relative to others, but also take any coins that the user maybe reserved for some other purpose.

try to keep the same coins invested as bevor, change the amount of tickets

This option would try to keep the amount of coins invested for each user as similar as possible. If a user bought 10 tickets for 50 coins each, that would mean 500 coins invested. If the price would than change to 60 coins, we would then check how many tickets can be bought with 500 coins: 500/60 = 8.3333333333. But because we can only by whole numbers of tickets we would then need to round the amount of tickets. This would in turn create multiple options

  • round normal (round up at > .5)
  • round up
  • round down

Rounding up at any point would create he same problems as with the above proposal, but to a lesser degree. The advantage of this option is also that the Distribution of chances between the users would be kept the same (besides the normal rounding option, because the different amounts of invested coins would change if we round up or down). The disadvantage of this option is that the users would then have different amount of tickets than they bought bevor. This could be confusing for new users or if the user wasn't aware that the increase is happening, this could be because they just bought the tickets and didn't notice, or that they were away while the increase was happening.

prompt the user as to what to do (not practically)

One option would be to prompt each participant of the giveaway as to what to do. This would insure that no decision would be made over the head of the user, but would for multiple reasons not be partial.

  1. the mode of communication:
  • public twitch chat is impractical because of the amount of participants (often more than 30-50). This would just spam the chat unacceptably
    • a command in public chat with all that spaming could also be hard to use for many people at first
  • twitch pn's will likely not be possible for rate limiting reasons from twitch. At least not if the cost is changed frequently, so this would need a contingency plan. Many users also don't notice pn's or have them turned of
  • giveaway website: many users will not notice the change without a push notification of some kind, newer users also will not know the site
  • emails are impractically slow, and even less users would notice them. This option could also only work for winners of past giveaways (if we decide to save there emails)
  1. this would need a contingency for when user doesn't respond. This would likely be one of the discussed options. So this option would not fully solve this problem
Clone this wiki locally