|
| 1 | +# 💬 ChatRD |
| 2 | + |
| 3 | +ChatRD is a chat overlay widget for OBS that unifies messages and events from **Twitch**, **YouTube**, **TikTok** (and more to come). |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## 🚀 Features |
| 10 | + |
| 11 | +- 💬 **Multi-platform chat** |
| 12 | +- 💬 **Multi-language events** |
| 13 | +- 📊 **Events and Live stats** |
| 14 | +- 🎨 **Customizable** |
| 15 | +- 💾 **Saves your settings using localStorage and Streamer.Bot's Global Varaibles** |
| 16 | + |
| 17 | +--- |
| 18 | + |
| 19 | +## 🛠️ Usage |
| 20 | + |
| 21 | +1. Make sure your **Twitch** and **YouTube** accounts are connected on **Streamer.bot** and you have **TikFinity Desktop App** installed and set up to your account on **TikTok**. **BOTH APPS NEED TO RUN ON THE SAME PC**. |
| 22 | +2. In **Streamer.bot**, go to **Server/Clients → WebSocket Server** and make sure it is running |
| 23 | +3. Import the string inside the file [streamerbot-import.vortisrd](https://github.com/vortisrd/chatrd/blob/main/streamerbot-import.vortisrd) to your **Streamer.bot** using the **Import** button at the top. |
| 24 | +4. Open the [Settings Page](https://vortisrd.github.io/chatrd) in your browser |
| 25 | +5. Choose your desired options |
| 26 | +6. Click **"Copy URL"** |
| 27 | +7. Add a Browser Source in OBS and paste the link |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## 🛠️ How to Use it in a Local Network |
| 32 | + |
| 33 | +1. On **Streamer.bot**, go to **Server/Clients → WebSocket Server** and make sure the Address is set to the Local Network IP from the PC, for example **192.168.0.10** ... or, if you prefer, use 0.0.0.0. |
| 34 | +2. On the [Settings Page](https://vortisrd.github.io/chatrd), make sure you set that IP on **Streamer.bot WebSocket Server**. |
| 35 | +3. Turn the **"Run Locally"** switch on. |
| 36 | +4. Click **"Copy URL"** |
| 37 | +5. [Download ChatRD](https://github.com/vortisrd/chatrd/archive/refs/heads/main.zip) on the machine you want to see the chat on or want to set up OBS in, unzipping the file. |
| 38 | +6. Open it on your browser or add it in OBS as Browser Source (don't tick **Local File**)following the file trail, for example: **file:///C:/PATH_TO_THE_FILE/chat.html**. |
| 39 | +7. After **chat.html**, paste the URL copied from the configurator. The full link should be like this: **file:///C:/PATH_TO_THE_FILE/chat.html?language=ptbr&showPlatform=true&showAvatar=true&showTimestamps=false&showBadges=true&showPlatformStatistics=false&excludeCommands=true&showTwitchMessages=true&showTwitchFollows=true&showTwitchBits=true&showTwitchAnnouncements=true&showTwitchSubs=true&showTwitchGiftedSubs=true&showTwitchMassGiftedSubs=true&showTwitchGiftedSubsUserTrain=true&showTwitchRewardRedemptions=true&showTwitchRaids=true&showTwitchSharedChat=true&showTwitchViewers=true&showYouTubeMessages=true&showYouTubeSuperChats=true&showYouTubeSuperStickers=false&showYouTubeMemberships=true&showYouTubeGiftMemberships=true&showYouTubeMembershipsTrain=true&showYouTubeStatistics=true&showTikTokMessages=true&showTikTokFollows=true&showTikTokGifts=true&showTikTokSubs=true&showTikTokStatistics=true&showStreamlabsDonations=true&showStreamElementsTips=true&ignoreChatters=&streamerBotServerAddress=127.0.0.1&streamerBotServerPort=8080&=&hideAfter=0** |
| 40 | + |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## 🧩 Integrations |
| 45 | + |
| 46 | +- 🟣 **Twitch** (via Streamer.bot) |
| 47 | +- 🔴 **YouTube** (via Streamer.bot) |
| 48 | +- ⚫ **TikTok** (via TikFinity Desktop App) |
| 49 | +- 💸 **Streamlabs / StreamElements** |
| 50 | + |
| 51 | +--- |
| 52 | + |
| 53 | +## 📦 Dependencies |
| 54 | + |
| 55 | +- [Streamer.bot](https://streamer.bot) |
| 56 | +- [Streamer.bot Client JS](https://streamerbot.github.io/client/) |
| 57 | +- [TikFinity Desktop App](https://tikfinity.zerody.one/) |
| 58 | +- [Font Awesome](https://fontawesome.com/) |
| 59 | +- [Animate.css](https://animate.style/) |
| 60 | +- [Simple Notify](https://simple-notify.github.io/simple-notify/) |
| 61 | +- [DOMPurify](https://github.com/cure53/DOMPurify) |
| 62 | + |
| 63 | +--- |
| 64 | + |
| 65 | +## 📝 To-Do List |
| 66 | + |
| 67 | +- Trovo |
| 68 | +- Kick |
| 69 | +- Patreon |
| 70 | +- Ko-Fi |
| 71 | +- TipeeeStream |
| 72 | +- Fourthwall |
| 73 | +- LivePix |
| 74 | +- Tipa.Ai |
| 75 | + |
| 76 | +--- |
| 77 | + |
| 78 | +## **⚠️ DISCLAIMERS ⚠️** |
| 79 | + |
| 80 | +### About YouTube Membership Emojis |
| 81 | +I tried to add member emotes but **that is currently impossible due to YouTube's API not exposing Members Emotes and with that, Streamer.bot won't be able to show them.**. So I've added a way for the users to add them manually at the overlay, with the data saved as a Streamer.Bot Global Variable. |
| 82 | + |
| 83 | +What Casterlabs Caffeinated, Social Stream Ninja and Onecomme do to scrape the emotes won't work with the current way Streamer.bot and my code works, so I had to choose between **making the user add them manually** or build a **server-sided executable (using NodeJS, Python or whatever) to read the chat as it's going or scrape the HTML code**. I don't want to add another executable on top of the user's flow, so it would be easier to use what it's currently available. **And no, I won't do any research based on what other tools do.** Tried to do that and wasted 1 week of my life doing it. |
| 84 | + |
| 85 | +When YouTube decide to expose their Partner Emotes on their API, I'll come back to this. |
| 86 | + |
| 87 | +### About Custom Styling |
| 88 | +The safest way to customize ChatRD is open either the Chat or the Config in your browser and use [it's Dev Tools](https://cdn.discordapp.com/attachments/1360070885620453496/1363850037276180591/image.png?ex=680a2ad3&is=6808d953&hm=aac3045c97602afcb7eacf207eb73bccf036348a2daf27ced49f1e422f380f7a&format=webp&quality=lossless&width=1872&height=541) to look for the tags, their classes, identifiers and then style in the way you want. **You need basic CSS knowledge for that**. |
| 89 | + |
| 90 | +After you finish it, paste the CSS inside the [Custom CSS field within Browser Source Property Window](https://media.discordapp.net/attachments/1360070885620453496/1363577945117032578/image.png?ex=6809d62c&is=680884ac&hm=fe81c53d8b144ca48506ff5d143dbb3a43cabefbb55e4d4b19943a9607f2bf96&=&format=webp&quality=lossless&width=994&height=960). |
| 91 | + |
| 92 | +### About Support on Changing the Javascript or other Core Files |
| 93 | +If you break it, you fix it. 😊 |
| 94 | + |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## ✨ Credits |
| 99 | + |
| 100 | +Made with ❤️ by **VortisRD** |
| 101 | + |
| 102 | +🔗 [GitHub](https://github.com/vortisrd) • [Twitch](https://twitch.tv/vortisrd) • [YouTube](https://youtube.com/@vortisrd) • [TikTok](https://tiktok.com/@vortisrd) • [Twitter / X](https://twitter.com/vortisrd) |
| 103 | + |
| 104 | +Heavily inspired by [Nutty](https://nutty.gg) |
| 105 | + |
| 106 | +🔗 [GitHub](https://github.com/nuttylmao) • [Twitch](https://twitch.tv/nutty) • [YouTube](https://youtube.com/@nuttylmao) • [TikTok](https://tiktok.com/@nuttylmao) • [Twitter / X](https://x.com/nuttylmao) |
0 commit comments