From 0d1957f61806e0bf0f448d93360dffcd6e2ea4ef Mon Sep 17 00:00:00 2001 From: Noah Pombas Date: Wed, 12 Feb 2025 09:19:56 +0100 Subject: [PATCH] Update README.md --- README.md | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24e4603..65ca7c8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,105 @@ -# twitch-watchtime-bot -A Twitch Chat Bot that tracks viewers' watch time, awards points, and manages a blacklist! 🚀 +# 🎥 Twitch Watchtime Bot + +A **Twitch Chat Bot** that tracks viewers' watch time, awards points, and manages a blacklist! 🚀 + +--- + +## 🛠 Features + +✅ **Track Watch Time** - Logs viewer time while the stream is live. +✅ **Award Points** - Gives points for every minute watched. +✅ **Blacklist Management** - Prevents certain users from earning time/points. +✅ **Twitch API Integration** - Checks if the stream is online. +✅ **MySQL Database** - Stores watch time and blacklist data. + +--- + +## 📦 Installation + +### 1️⃣ Clone the Repository +```sh +git clone https://github.com/noahpombas-dev/twitch-watchtime-bot.git +cd twitch-watchtime-bot +``` + +### 2️⃣ Install Dependencies +```sh +npm install +``` + +### 3️⃣ Configure Environment Variables +Create a `.env` file and add your Twitch and MySQL credentials. + +#### Example `.env` File: +```ini +# Twitch API Credentials +TWITCH_CLIENT_ID=your_client_id +TWITCH_CLIENT_SECRET=your_client_secret +TWITCH_OAUTH=oauth:your_oauth_token +TWITCH_ACCESS_TOKEN=your_access_token +TWITCH_USERNAME=your_twitch_username +TWITCH_CHANNEL=your_twitch_channel + +# MySQL Database Credentials +DB_HOST=your_database_host +DB_USER=your_database_user +DB_NAME=your_database_name +DB_PASSWORD=your_database_password +``` + +> 🔗 **Get your Twitch API keys here:** [Twitch Developer Console](https://dev.twitch.tv/console) +> 🔑 **Generate an OAuth Token here:** [Twitch Token Generator](https://twitchtokengenerator.com/) + +--- + +## 🚀 Running the Bot +```sh +node index.js +``` + +If everything is set up correctly, the bot will connect to Twitch chat and begin tracking watch time! 🎉 + +--- + +## 🎮 Commands + +| Command | Description | +|---------|-------------| +| `!watchtime` | Shows your total watch time. ⏳ | +| `!addblacklist ` | Adds a user to the blacklist. 🚫 | +| `!removeblacklist ` | Removes a user from the blacklist. ✅ | +| `!listblacklist` | Lists all blacklisted users. 📜 | + +--- + +## 🛢 Database Structure + +This bot uses **MySQL** to store viewer watch times and blacklisted users. Run the following SQL script to create the required tables: + +```sql +CREATE TABLE watch_time ( + id INT AUTO_INCREMENT PRIMARY KEY, + username VARCHAR(255) UNIQUE NOT NULL, + session_start TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + last_seen TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + total_watch_time INT DEFAULT 0, + points INT DEFAULT 0 +); + +CREATE TABLE blacklist_users ( + id INT AUTO_INCREMENT PRIMARY KEY, + username VARCHAR(255) UNIQUE NOT NULL +); +``` + +--- + +## 🤝 Contributing + +Want to improve the bot? Fork the repo and submit a pull request! 🚀 + +--- + +## 📜 License + +This project is **open-source** and licensed under the MIT License. 📝