Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

gezelio/YTCR

The project has hit end of life. Please see our Discord post

Contributors Stargazers Issues


Logo

YouTube Channel Rewards

Enhance your YouTube livestreams with channel points from your Twitch profile!
Go to the website »

Gezel.io · Report Bug · Request Feature · RoadMap

Note to contributors:

Please ensure you are forking the staging branch, as this is where the most up to date code will live. The main branch is used for releases only.

About The Project

YouTube Channel Rewards takes the most valuable Twitch feature and puts it on YouTube streams, and it's easy to set up! We host it, all you have to do is configure your Streamer.Bot software to connect to our websocket (which is very simple), and you're good to go!

Why we built this:

  • @tommerty wanted to stream on YouTube but most of his stream is channel reward orientated, and we wanted a solution
  • No one had really built a good solution yet
  • We wanted to build something for all YouTube streamers

How to set up YouTube Channel Rewards as a streamer

Prerequisites

  • Streamer.Bot - v0.1.16 or newer
  • A YouTube channel that is connected to your Discord
  • An affitiated Twitch channel is no longer required to use this service

1. Streamerbot configuration


Initial setup

  1. Ensure you're logged in to your YouTube account on StreamerBot under Platforms
  2. Download YTCR_{version}.gezel from our Releases Page.
  3. Launch Streamer.Bot and select Import and drag the file into the Import String box.
    • Confirm you see the following Actions:
      • Clipping Tool
      • Execute Channel Reward Redeem
      • Set Channel Rewards
    • Once confirmed, you can click Import.
  4. Click the Set Channel Rewards action and you should see two Sub-Actions. Double click Set global "youtube_channel_id". Where it says CHANGEME beside value, update this to your YouTube channel ID. You can get that here if you aren't aware of it.

2. Websocket

Inside StreamerBot, head over to:

  • Servers/Clients
    • Websocket Clients

Right click and select ‘Add’ and insert the following:

SECTION INPUT
Name Gezel's YTCR
Endpoint wss://youtube.redeems.live/ws
Auto Connect on Startup
Reconnect on Disconnect
TLS (tick the following boxes) TLS 1.0
TLS 1.1
TLS 1.2
Retry Interval 5 seconds
Actions
Connected Set Channel Rewards
Disconnected NONE
Message Execute Channel Reward Redeem

Once you've completed this, press ok, right-click on the connection and choose connect!

Tip: Anytime you add/remove/modify channel rewards while connected to the WebSocket, you must go into Servers/Clients > Websocket Clients and right-click disconnect and then reconnect to pull the changes. It only pulls the reward data on load at this present time.


3. The YTCR Dashboard

Before going forward, it's good to confirm that your YouTube channel is linked to your Discord account. If you do not have a YouTube channel linked to your Discord, YTCR won't be able to find your channel as we use Discord as our sign in method. Once you've added your YouTube channel to your Discord's Connections (can be found in User Settings):

  1. Sign in to https://youtube.redeems.live
  2. Authenticate with Discord
  3. Choose your YouTube channel
  4. Adjust your settings to your liking

4. Setting up channel rewards

Head over to the YTCR Dashboard and click on Rewards.

Fields:
Reward Name Cost Action ID
The name of your reward The cost of your reward The ID of the action you want to run. This is only required if you wish to pair it with an action you built on StreamerBot, such as controlling something on your OBS, for example

This is the new primary way going forward with building actions, as it cuts out the requirement of needing an affiliated Twitch account in previous iterations.


5. Clipping tool

If you don't plan on using Clipping Tool, you can disable it in the YTCR Dashboard and ignore all of this.

The Clipping Tool is a feature that adds a clipping feature to your stream. This utilizes the OBS Replay Buffer feature and would require additional setup. We made this because YouTube's clipping feature doesn't actually create a downloadable clip to post on other social media platforms, so we hope this will be a good alternative to Twitch's clip feature.

How does it work?

It only allows one clip every minute. It does this by renaming the files by 'year-month-day_hour-minute' while also thanking the user who created the clip.

  • Example of a clip name: "2022-06-24_16-04 (clipped by trent1605)"

OBS settings

  • Output > Replay Buffer and select Enable Replay Buffer
    • You can also change the length of your clips here. We recommend 30/60 seconds.
  • Head into settings - Under General, tick the box for Automatically start replay buffer when streaming
    This will help you ensure it's always running when streaming.
  • Inside the Recording tab, these are also your settings for the Replay Buffer
    • Take note of the recording path and format, we'll need these for StreamerBot.

StreamerBot settings

  • Select the Clipping Tool Action and update the following; - Set global "yourReplayPath" - This is where your recording path was from OBS.
    • Set global "yourOutputPath" - This is where you want the new files to go to.
    • Set global "yourFileFormat" - This is what format you are using, such as mp4/mkv/etc

      It's important to note that the paths are written in C# and may not appear as you'd expect. For example, my Replay Path on Windows is D:\rec but in C# it's D:\\rec\\. We haven't found a good converter for those who aren't aware, so if you get super stuck on this, please feel free to jump into our Discord and either us or someone from the community I'm sure will be able to help!

NOTE: This is a "fork" of HYP3RSTRIKE's Advanced OBS Clipper to function with YTCR as a separate icon within the extension. Credits go to him for giving us this idea, so I'd recommend dropping him a sub on YouTube to say thank you!


And that's it! You're all set up on YTCR!


Feel like contributing?

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Reach out on Discord

Project Link: https://github.com/gezelio/ytcr

(back to top)