dennis / slipstream

ISC License
5 stars 0 forks source link

# Slipstream

⚠ This project is under early and experimental development and should be considered alpha software ⚠

What is Slipstream?

Slipstream is an application with an event-based architecture that allows users to programatically handle events using Lua scripts. The primary objective for the application is to provide a dynamic and flexible solution to act on iRacing telemetry events.

The extensibility of the core application can easily accomodate other types of plugins to create a comprehensive solution for iRacers and streamers.

Slipstream Screenshot

Other plugin examples are:

How it works

Events raised by the plugins are sent to Lua scripts where the events can be translated to real world actions like:

Example script

local authorised = {}
local defaultAudioPlugin = "AudioPlugin"

authorised["sassy_mcsassypants"] = "Sassy"
authorised["larryrabbets"] = "Larry"

function string.starts(String,Start)
   return string.sub(String,1,string.len(Start))==Start
end

function say_it(event)
    local prefered_name = authorised[string.lower(event.From)] -- get the preffered name from the authorised list of Twitch users
    if prefered_name then -- if the user has a preffered name set in the authorised list they can use this command
        local text = string.lower(string.sub(event.Message, 6))
        audio:say(defaultAudioPlugin, prefered_name .. " said ... " .. text, 1)
    else
        twitch:send_channel_message(event.From .. ": You are not whitelisted to use !say")
    end
end

function handle(event)
    if(event.EventType == "TwitchReceivedMessage") and string.starts(event.Message, "!say ") then
        say_it(event)
    end
end

Installation

Download the latest version of Slipstream and run the installer.

Usage

Contributing

We welcome feature requests, bug reports and contributions for code and documentation.

If you like to contribute to Slipstream, please read our Code of Conduct first.

Reporting Issues

Reporting bugs can be done in the GitHub issue tracker. Please search for existing issues first to help prevent duplicates.

Pull Requests

Patches are welcome, but if you do a significant change, please talk with use before doing so. You are welcome to open an issue descriping your idea.

License

Slipstream is released under the ISC License