ChatJack is an interactive Twitch game that enables communities to play blackjack collaboratively through chat commands. Engage your viewers in a unified gaming experience where decisions are made collectively, fostering a sense of teamwork and excitement.
- Community Voting: Viewers vote on actions like
!hit
or!stand
, making each game a shared experience. - No Monetary Stakes: Enjoy the classic game of blackjack without any betting—purely for fun.
- Twitch Integration: Seamlessly connects with the Twitch API, allowing real-time interaction through chat commands.
- Spectator and Moderator Modes:
- Spectator Mode: Display the game on stream using OBS tools like Pogly, enhancing viewer engagement.
- Moderator Mode: Broadcasters or moderators can control game settings and flow directly from their browser.
- AI Dealer: After the community's turn, the AI dealer reveals its hole card and completes its turn, adding suspense to each round.
- Customizable Settings: Tailor the game experience by adjusting vote durations, frame rates, number of decks, and more.
- Twitch Channel Predictions Integration: Enable viewers to wager channel points on game outcomes, increasing engagement.
- Chat Bot Announcements: Automated messages to guide players, such as "Type
!start
to begin!"
-
Clone the Repository:
git clone https://github.com/yourusername/chatjack.git
-
Navigate to the Project Directory:
cd chatjack
-
Dependencies:
pnpm install
-
Set Up Environment Variables:
- Create a .env.local file in the root directory.
- Add your Twitch credentials and other necessary configurations:
TWITCH_CLIENT_ID=your_client_id TWITCH_CLIENT_SECRET=your_client_secret TWITCH_BOT_USERNAME=your_bot_username TWITCH_BOT_TOKEN=your_bot_token # etc...
-
Start the Application:
pnpm dev
-
Launch ChatJack: Ensure the application is running on your server.
-
Integrate with OBS:
- Add a Browser Source in OBS.
- Set the URL to http://localhost:3000/spectate/${channel} (or your server's URL).
- Adjust the dimensions to fit your stream layout.
-
Moderate the Game:
- Access the moderator interface at http://localhost:3000/play/${channel}/${channel_id}?debug.
- Use the controls to start games, adjust settings, and monitor chat interactions.
-
Viewer Participation:
- Viewers participate by typing commands like !hit or !stand in the chat during their turn.
- The game processes votes and displays the results in real-time.
We welcome contributions from the community! To get involved:
-
Fork the Repository: Click the "Fork" button at the top right of this page.
-
Create a New Branch: Use a descriptive name for your branch.
git checkout -b feature/your-feature-name
-
Make Your Changes: Implement your feature or fix.
-
Commit Your Changes: Write clear and concise commit messages.
git commit -m "Add feature: your feature name"
-
Push to Your Fork:
git push origin feature/your-feature-name
-
Submit a Pull Request: Navigate to the original repository and click "New Pull Request."
Please ensure your code adheres to our coding standards and includes appropriate tests.
License
This project is licensed under the MIT License. See the LICENSE file for details.