Welcome to United Chatโyour go-to solution for merging Twitch and YouTube chats into a seamless experience!
Weโre on a journey to make your multi-stream chatting as smooth as possible, with just a touch of complexity to keep things interesting.
United Chat is a desktop application built with:
- Tauri V2 for creating the app interface
- React for building interactive user components
- TypeScript for a type-safe development experience
This app consolidates chat messages from Twitch and YouTube into a single, unified window. While we're still ironing out the kinks, progress is steady, and we're pushing towards a fully functional app. ๐
Please note that while this is made to facilitate multi-stream chatting, it's not a chatbot and doesn't support sending messages.
It also might not count as a viewer on the platforms, so keep that in mind when using it.
Please don't use this app to spam or harass streamers or other viewers. We're all here to have a good time! ๐
Use this app responsibly and keep in mind that this is a work in progress. We're always open to feedback and suggestions!
- Twitch Integration: Fully implemented, including connection, channel joining, and message reception. ๐น๏ธ
- YouTube Integration: Implemented, but still in the testing phase. ๐ฅ
Performance is still in the testing phase, so don't expect perfection just yet. We welcome your feedback to help us improve! DevTools are available for debugging, and you might see some warningsโjust React doing its thing.
For those interested in the nitty-gritty, here's a peek at our tech stack:
Tech Stack Overview ๐ค
- Next.js: A framework for server-side rendering React applications.
- TailwindCSS: A utility-first CSS framework for styling.
- WebSockets: For real-time chat updates, connecting to Twitch IRC API.
- Rust: Chosen for its performance benefits.
- Tauri: Used to build the desktop application with web technologies.
- WebSockets Server/Client: Handles communication between frontend and backend.
- Currently, no formal tests. We're embracing a hands-on approach for now.
- GitHub Actions: For continuous integration and deployment.
- GitHub Releases: For app distribution.
Feel free to dive into the source code and see how it's built. Suggestions and feedback are always welcomeโjust keep it constructive!
- Design the UI ๐จ
- Implement Rust Backend ๐ง
- Twitch API ๐น๏ธ
- YouTube API ๐ฅ
- Enhance Message Handling ๐ฌ
- Twitch
- YouTube
- Develop User Linking ๐
- Twitch (Account Linking)
- Twitch (No Linking)
- YouTube
- Build Chat UI ๐ฅ๏ธ
- Conduct Performance Tests ๐๏ธ
You have two options:
1. Using Pre-Built Binaries
- Download the latest release from the release page.
- Use the
.exe
or.msi
installer for Windows. - Install and run the app.
- You can link your Twitch account or use a Twitch streamer URL to start chatting.
- To access the YouTube Chat, you'll have to access the Settings page (CRTL + D), click on "Add Live" and enter a YouTube stream URL. It's recommended to have only one maximum live stream at a time. You can add more streams, including scheduled ones by doing the same process.
- Select or create your own theme on the main page.
- Still on the main page, click on "Start" to start the chat.
- Copy the URL from the browser and paste it into your stream app, or use the app's built-in browser and use that.
- Enjoy your chat!
2. Building from Source
To build from source, you'll need:
- ๐ฆ Rust
- ๐ข Node.js
- ๐ฆ npm
- ๐ก TypeScript
Steps to build:
# Clone the repository
git clone https://github.com/tockawaffle/United-Chat.git
# Navigate to the project directory
cd United-Chat
# Install dependencies
npm install
# Build the project (recommended)
npm run tauri:build
# Or run in development mode
npm run tauri:dev
Happy coding, and may your chats be forever united! ๐
- Discord: Join the Community
This project is licensed under the AGPL-3.0 License.