-
Notifications
You must be signed in to change notification settings - Fork 4
meta.concept
Warning
This page is very outdated and is missing critical information. Take everything on here with a grain of salt. This page should be turned into a high level system design overview
The Idea of this Bot is to be able to rapidly and easily add new features without impacting the rest of the system. This often boils down to getting events from other sources, like Twitch, a donation Service, or something else; and executing something when a command is triggered, that will then be printed out in the command. That's why we focused on making these two things easy and decoupled from the rest of the system.
The system consists of a primary event bus that is fed by 'inputs' and is subscribed to by 'subscriber'
Note
This is only brief overview, for more information read their respective pages
Inputs are threads that run for the entire application lifecycle and handle the connection to external services. Their primary purpose is to receive events from external sources and then publish it through the EventDispatcher onto the main EventBus. The Events will then be used to call all subscribers that subscribed to the specific Event. The subscriber can then do anything they wan't with the event, save the data to the database, call a Command, or just log the data.
If you want to write some data to an output, you should use the centralized Out API. This api provides methods to send alerts to all users, send error alerting, or message to twitch.