Code Monkey home page Code Monkey logo

streamcore's People

Contributors

exlted avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

streamcore's Issues

Stream Manager

This is a moderate priority project, although it probably doesn't necessarily belong inside of StreamCore so it might get pulled out somewhere different.

Essentially, I want something similar to Restream.io's Dashboard, except I want to focus a lot more on being able to control everything about the streams for each output location, rather than the limited control you get from Restream's dashboard.

Chat Visualizer

Another core element will be the Chat Visualizer. It will provide a user-configurable method for accessing all Chat Received messages. It needs to provide a webserver connection to allow for an output for either use in a stream overlay or a standalone window.

Allowing for chat to be sent isn't a requirement, but it also isn't a non-goal. Allowing for different webpages to be served via different routes is a goal, this should be 100% user configurable.

Alert Notifier

This is a low priority output utility I have planned, imagine StreamLabs/StreamElements they both have a list of alerts that you can mark off, or retrigger.

Chat Relay Element

One of the core elements I want for StreamCore is a chat relay, this will allow chat messages from one source to be passed onto other chat systems that have write capabilities in their APIs.

The Chat Relay element needs to send Chat Sent queries that include the source they came from, so they can be filtered out and avoid double-chatting to the original source.

Relies on: Chat Received, Chat Sent

Bot Framework

A simple bot template is a goal I have for this, whether it's a user configurable bot, or is just a template to allow for easy bot development using the StreamCore systems is not decided at this time.

I will be developing my personal bot using this system once I'm able to, so depending on how configurable I decide it needs to be, I might make it the default, or it'll be separate and just based off of the base bot here in StreamCore

Refactor chat to have a Chat Handler and a Chat UI

For my future intentions to include moderation capabilities in this, we need something that'll work as a source of truth for which chats need to be affected when moderation happens.

To allow for this, we need a central chat handler which handles the following

  • Merging Chats (Core Capability)
  • Ignoring Users (Bot Support)
  • Deleting Messages (Moderation Capability)
  • Pushing delete notifications to chat UI (Moderation Capability)

The best case scenario here is that chat_ui can end up holding the entirety of this capability, but by adding bots and other such things, it might need to be split out.

StreamCore Ingress Elements

StreamCore will have a variety of programs for ingest, in particular I'm looking for the following API ingress points.

  • Twitch Chat
  • Twitch (General API)
  • Youtube
  • Facebook
  • Trovo
  • StreamElements
  • StreamLabs
  • Discord

They will filter down to a common set of internal APIs to the StreamCore system. My current thought for what the internal APIs should be is as following.

  • Chat Received
  • Chat Sent (This is an Egress API)
  • Follow Received
  • Membership Received
  • Tip Received

As I work through the various ingress APIs, I will decide on the specifics of the internal API values necessary. One thing is for sure, they will include a source value so we can filter out sources that we don't want if we want to avoid it.

Alert Overlay

This is a high priority project, just lower than chat systems, it should merge all (user configurable) alerts and display them to a served webpage, all this should be configurable, and even able to set up multiple configurations that are accessible over different URLs.

Implement user contexts

At some point, multiple users should be allowed to have access to the same instance of StreamCore. To handle this we'll need user contexts when entering any StreamCore hosted sites, or when using any per-user functionality.

This is not expected to set up separate ingests in the same instance, these users would have access to the same ingests, the output functionalities however would be associated with their accounts specifically.

This will allow moderators access and control over the same chat ingests that the streamer has,

Add Error Logging Capability

Once Capabilities are in place, an Error Logging capability should be added to simplify notifying users of errors that happen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.