Skip to content

Commit c72f082

Browse files
authored
Add files via upload
1 parent 58c0b9e commit c72f082

19 files changed

Lines changed: 4638 additions & 0 deletions

File tree

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
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+
![ChatRD Config UI](https://i.imgur.com/2PLyjE4.png)
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)

chat.html

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
2+
<!DOCTYPE html>
3+
<html lang="en">
4+
<head>
5+
<meta charset="UTF-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>ChatRD</title>
8+
9+
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:[email protected]">
10+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/simple-notify.min.css">
11+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
12+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css">
13+
14+
<link rel="stylesheet" href="css/app.css">
15+
</head>
16+
<body>
17+
18+
<div id="statistics">
19+
<div class="platform" id="twitch">
20+
<i class="fa-brands fa-twitch"></i>
21+
<span class="viewers"><i class="fa-solid fa-user"></i> <span>0</span></span>
22+
</div>
23+
24+
<div class="platform" id="youtube">
25+
<i class="fa-brands fa-youtube"></i>
26+
<span class="viewers"><i class="fa-solid fa-user"></i> <span>0</span></span>
27+
<span class="likes"><i class="fa-solid fa-thumbs-up"></i> <span>0</span></span>
28+
</div>
29+
30+
<div class="platform" id="tiktok">
31+
<i class="fa-brands fa-tiktok"></i>
32+
<span class="viewers"><i class="fa-solid fa-user"></i> <span>0</span></span>
33+
<span class="likes"><i class="fa-solid fa-heart"></i> <span>0</span></span>
34+
</div>
35+
</div>
36+
37+
38+
39+
40+
41+
<div class="wrapper">
42+
<div id="chat">
43+
44+
</div>
45+
</div>
46+
47+
48+
49+
50+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js"></script>
51+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/simple-notify.min.js"></script>
52+
<script src="https://unpkg.com/@streamerbot/client/dist/streamerbot-client.js"></script>
53+
54+
55+
<script src="js/lang/ptbr.js"></script>
56+
<script src="js/lang/en.js"></script>
57+
<script src="js/lang/es.js"></script>
58+
59+
<script src="js/lang/lang.js"></script>
60+
61+
62+
<script src="js/app-mockup.js"></script>
63+
<script src="js/app.js"></script>
64+
65+
<script src="js/twitch/module.js"></script>
66+
<script src="js/youtube/module.js"></script>
67+
<script src="js/tiktok/module.js"></script>
68+
69+
<script src="js/streamlabs/module.js"></script>
70+
<script src="js/streamelements/module.js"></script>
71+
72+
</body>
73+
</html>

0 commit comments

Comments
 (0)