73 lines
4.9 KiB
Markdown
73 lines
4.9 KiB
Markdown
# MultiChat Overlay - Setup and Testing Instructions
|
||
|
||
This document provides instructions to set up and test the MultiChat Overlay application.
|
||
|
||
## 1. MySQL Database Setup
|
||
|
||
1. **Install MySQL:** Ensure you have MySQL server installed and running on your system.
|
||
2. **Create Database:** Log in to your MySQL server and create a new database.
|
||
```sql
|
||
CREATE DATABASE multichat_overlay;
|
||
```
|
||
3. **Create User (Optional but Recommended):** Create a dedicated MySQL user for the application and grant it privileges to the `multichat_overlay` database.
|
||
```sql
|
||
CREATE USER 'multichat_user'@'localhost' IDENTIFIED BY 'your_secure_password';
|
||
GRANT ALL PRIVILEGES ON multichat_overlay.* TO 'multichat_user'@'localhost';
|
||
FLUSH PRIVILEGES;
|
||
```
|
||
4. **Update `php/config.php`:** Open `/home/joe/MultiChatOverlay/php/config.php` and update the `DB_USER` and `DB_PASS` constants with your MySQL credentials.
|
||
|
||
## 2. PHP Development Server Setup
|
||
|
||
1. **Install PHP:** Ensure you have PHP installed on your system (PHP 7.4+ recommended).
|
||
2. **Start Server:** Navigate to the `/home/joe/MultiChatOverlay/php` directory in your terminal and start the PHP built-in web server:
|
||
```bash
|
||
cd /home/joe/MultiChatOverlay/php
|
||
php -S localhost:80 -t .
|
||
```
|
||
* **Note:** The `-t .` flag tells the server to use the current directory (`php/`) as the document root. This means your application will be accessible at `http://localhost/`.
|
||
* If port 80 is already in use, you can choose another port (e.g., `php -S localhost:8000 -t .`) and update the `BASE_URL` in `php/config.php` accordingly.
|
||
|
||
## 3. Configure Twitch API Credentials and Application Secrets
|
||
|
||
**IMPORTANT:** Before proceeding, you must update the following values in `/home/joe/MultiChatOverlay/php/config.php`:
|
||
|
||
* `TWITCH_CLIENT_ID`: Your Twitch application's Client ID.
|
||
* `TWITCH_CLIENT_SECRET`: Your Twitch application's Client Secret.
|
||
* `SESSION_SECRET`: A very long, random, and secure string for session encryption. Generate this once and keep it consistent. **DO NOT use the placeholder value in production.**
|
||
|
||
1. **Create Twitch Application:** Go to the Twitch Developer Console (dev.twitch.tv/console/apps) and create a new application.
|
||
* Set the **OAuth Redirect URLs** to `http://localhost/auth.php` for local development. When deploying to your external domain (e.g., `https://multichat.ramforth.net`), you must update this to `https://multichat.ramforth.net/auth.php` in both the Twitch Developer Console and `php/config.php`.
|
||
2. **Get Client ID and Secret:** Note down your Client ID and generate a Client Secret.
|
||
3. **Update `php/config.php`:** Open `/home/joe/MultiChatOverlay/php/config.php` and update the `TWITCH_CLIENT_ID`, `TWITCH_CLIENT_SECRET` constants with your application's credentials. Also, ensure `BASE_URL` is set correctly for your environment (e.g., `http://localhost` for local, `https://multichat.ramforth.net` for external).
|
||
|
||
## 4. Test the Application
|
||
|
||
1. **Ensure PHP Server is Running:** Make sure your PHP development server is running as described in step 2.
|
||
2. **Access Application:** Open your web browser and navigate to `http://localhost/`.
|
||
3. **Login with Twitch:**
|
||
* Click on "Get Started" or navigate to `http://localhost/login`.
|
||
* Click "Login with Twitch".
|
||
* You will be redirected to Twitch for authorization. Ensure you grant the requested permissions (`user:read:email` and `chat:read`).
|
||
* You should then be redirected to the dashboard (`http://localhost/dashboard`).
|
||
4. **Verify Dashboard:**
|
||
* Check if your Twitch username is displayed.
|
||
* Verify that the "Twitch: Connected" status is shown.
|
||
* Note the "Your Overlay URL" – it should now contain your `user_id`.
|
||
5. **Test Twitch Chat Listener (Manual):**
|
||
* Open a new terminal.
|
||
* Navigate to the `/home/joe/MultiChatOverlay` directory.
|
||
* Activate your Python virtual environment: `source python/venv/bin/activate`
|
||
* Run the Twitch chat listener script, replacing placeholders with your actual values:
|
||
```bash
|
||
export TWITCH_CLIENT_ID="YOUR_TWITCH_CLIENT_ID"
|
||
export TWITCH_CLIENT_SECRET="YOUR_TWITCH_CLIENT_SECRET"
|
||
python python/twitch_chat_listener.py "YOUR_TWITCH_ACCESS_TOKEN" "YOUR_TWITCH_CHANNEL_NAME" "YOUR_USER_ID_FROM_DASHBOARD"
|
||
```
|
||
* **Note:** You will need to manually retrieve your `TWITCH_ACCESS_TOKEN` from the MySQL database for now (e.g., by querying the `users` table).
|
||
* `YOUR_TWITCH_CHANNEL_NAME` is your Twitch username.
|
||
* `YOUR_USER_ID_FROM_DASHBOARD` is the `user_id` displayed in your overlay URL on the dashboard.
|
||
* Send a message in your Twitch channel. You should see the chat message printed in the terminal where `twitch_chat_listener.py` is running.
|
||
|
||
This completes the basic setup and verification of the Twitch login and chat listener. The next step will be to integrate the Node.js WebSocket server.
|