WP Manifestindependent plugin directory
manifest / social / wordpress-twitch-stream-plugin

SpeedySwifter Stream Integrator for Twitch

SpeedySwifter Stream Integrator for Twitch

by SpeedySwifter · github.com/speedyswifter/wordpress-twitch-stream-plugin · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/speedyswifter/wordpress-twitch-stream-plugin/archive/refs/heads/main.zip

🎮 SpeedySwifter Stream Integrator for Twitch v1.7.2

A WordPress plugin for Twitch stream integration with mobile app support, scheduling, analytics, and multi-language support.

🚀 Features📦 Installation🧩 Usage📋 Shortcodes⚙️ Admin🌍 Languages


📌 What is this?

The SpeedySwifter Stream Integrator for Twitch v1.7.2 provides a solution for integrating Twitch streams into WordPress websites. It offers features like mobile app integration, stream scheduling, analytics, and multi-language support.

✨ Core Features

  • Simple Shortcodes[twitch_stream channel="yourchannel"]
  • 🔴 Live Status Detection – Automatic checking if stream is online
  • 📺 Responsive Player – Twitch embed adapts to all screen sizes
  • ⚙️ Admin Panel – Comfortable settings page for API credentials
  • 🔐 Secure API Integration – Uses official Twitch Helix API
  • 💾 Token Caching – Reduces API calls through intelligent caching
  • 🎨 Customizable – CSS classes for individual styling
  • 🧩 WordPress 6.8 Compatible – Tested with current WP version
  • 🎯 Stream Info – Title, game, viewers, avatar, live badge
  • 📱 Multiple Streams Grid – Multiple streams in grid layout
  • 🧩 Gutenberg Blocks – Native WordPress Block Editor integration
  • 🔧 Page Builder Support – Elementor, Oxygen, Divi, Beaver Builder & more
  • 🍪 Cookie Banner Integration – GDPR compliant with 6 cookie systems

🚀 Advanced Features (v1.7.2)

🔒 WordPress.org Review Compliance

  • Security Best Practices – Proper sanitization and escaping
  • Code Standards – WordPress coding standards compliant
  • Unique Prefixing – All global names use SPSWIFTER_ prefix
  • External Services Documentation – Complete transparency
  • Trademark Compliance – No trademark terms in plugin name

📱 Mobile App Integration

  • Progressive Web App (PWA) with complete manifest
  • Service Worker for offline functionality and caching
  • Push Notifications with VAPID key support
  • Mobile-optimized interface with touch gestures
  • App install prompts and smart banners
  • Offline detection and synchronization

📅 Visual Stream Scheduler

  • Interactive calendar with FullCalendar.js integration
  • Drag-and-drop scheduling and rescheduling
  • Multiple view modes (Calendar, List, Timeline)
  • Real-time status tracking (Scheduled/Live/Completed)
  • Recurring stream patterns (Daily/Weekly/Monthly)
  • Advanced filtering by date, status, category

🛠️ Advanced Shortcode Builder

  • Interactive GUI for building Twitch shortcodes
  • Live preview with auto-refresh
  • Support for all 13+ plugin shortcodes
  • Category-based organization
  • Preset templates for quick start
  • Copy-to-clipboard functionality

🔒 Membership Plugin Integration

  • Support for 6 major membership plugins
  • MemberPress, RCP, PMPro, WooCommerce Memberships
  • Ultimate Member, s2Member integration
  • 4-tier membership system (Free/Basic/Premium/VIP)
  • Content restrictions based on membership level
  • Membership badges and visual indicators

🌍 Multi-Language Support (7 Languages)

  • 🇺🇸 English (en_US)
  • 🇩🇪 Deutsch (de_DE)
  • 🇫🇷 Français (fr_FR)
  • 🇪🇸 Español (es_ES)
  • 🇷🇺 Русский (ru_RU)
  • 🇵🇹 Português (pt_PT)
  • 🇯🇵 日本語 (ja_JP)

💰 Donation Integration

  • Buy Me a Coffee and PayPal buttons
  • Customizable donation forms
  • Donation goals and progress tracking
  • Responsive design with dark mode
  • Donation statistics and analytics

💬 Twitch Chat Integration

  • Advanced chat integration with emoji picker
  • Message moderation and command processing
  • Chat themes and customization options
  • Real-time message polling
  • User badges and roles display

📥 Stream Recording Download

  • VOD download functionality
  • Stream recording management
  • Download progress tracking
  • Video player controls
  • Download permissions and access control

📊 Advanced Analytics Dashboard

  • Stream analytics and performance metrics
  • Viewer statistics and engagement tracking
  • Real-time data visualization
  • Customizable charts and reports
  • Export functionality for data analysis

🛒 WooCommerce Integration

  • Stream-linked products
  • Purchase-triggered stream access
  • E-commerce integration for memberships
  • Order status synchronization
  • Revenue tracking and analytics

🎯 Use Cases

📡 Perfect For

  • 🎮 Gaming Websites – Display your own Twitch stream on website
  • 🏆 eSports Teams – Embed live matches directly
  • 🎥 Content Creators – Stream integration in WordPress blog
  • 📰 News Portals – Broadcast event streams live
  • 🎪 Event Sites – Stream conferences & tournaments
  • 📱 Mobile Apps – PWA with offline capabilities
  • 🔒 Membership Sites – Content restrictions and access control
  • 📅 Stream Networks – Schedule and manage multiple streams

🔧 What it does

✓ Automatically checks if stream is live
✓ Shows Twitch player only for live streams
✓ Shows offline message when stream not active
✓ Fully responsive for all devices
✓ Mobile app with push notifications
✓ Visual scheduling with calendar interface
✓ Membership-based content restrictions
✓ Multi-language support (7 languages)
✓ Advanced analytics and reporting
✓ PWA with offline functionality

📦 Installation

Option 1: Manual (ZIP Upload)

  1. Download plugin as ZIP
  2. In WordPress: Plugins → Install → Upload Plugin
  3. Select ZIP file and install
  4. Activate plugin

Option 2: FTP/SFTP

# Clone repository
git clone https://github.com/SpeedySwifter/WordPress-Twitch-Stream-Plugin.git

# Move folder to wp-content/plugins/
mv WordPress-Twitch-Stream-Plugin /path/to/wordpress/wp-content/plugins/

Then activate in WordPress admin under Plugins.


🔑 Twitch API Setup

1️⃣ Create Twitch App

You need a Twitch Developer Application to get API access:

  1. Go to: https://dev.twitch.tv/console/apps
  2. Click "Register Your Application"
  3. Fill the form:
Name:                 Your WordPress Site
OAuth Redirect URLs:  https://your-domain.com
Category:             Website Integration
  1. Save and note:
    • Client ID
    • Client Secret (shown only once!)

2️⃣ Enter Credentials in WordPress

  1. In WordPress Admin: Settings → SpeedySwifter Twitch API
  2. Enter Client ID
  3. Enter Client Secret
  4. Save Changes

✅ Done! The plugin is now ready to use.


🧩 Usage

Basic Shortcode

[twitch_stream channel="shroud"]

With Options

[twitch_stream channel="shroud" width="100%" height="480"]

Advanced Mobile App

[twitch_mobile_app theme="dark" show_notifications="true"]

Stream Scheduler

[twitch_stream_scheduler channel="yourchannel" view="calendar"]

Membership Content

[twitch_membership_content level="premium"]
Your premium content here
[/twitch_membership_content]

📋 Shortcodes Reference

Core Shortcodes

Shortcode Description Example
[twitch_stream] Basic stream embed [twitch_stream channel="shroud"]
[twitch_chat] Standalone chat [twitch_chat channel="shroud"]
[twitch_follow_button] Follow button [twitch_follow_button channel="shroud"]
[twitch_subscribe_button] Subscribe button [twitch_subscribe_button channel="shroud"]
[twitch_clips] Channel clips [twitch_clips channel="shroud" limit="10"]
[twitch_vod] Past broadcasts [twitch_vod channel="shroud" type="archive"]

Advanced Shortcodes

Shortcode Description Example
[twitch_mobile_app] Mobile app interface [twitch_mobile_app theme="dark"]
[twitch_stream_scheduler] Visual scheduler [twitch_stream_scheduler view="calendar"]
[twitch_shortcode_builder] Shortcode builder GUI [twitch_shortcode_builder show_preview="true"]
[twitch_membership_content] Restricted content [twitch_membership_content level="vip"]
[twitch_donations] Donation integration [twitch_donations type="both"]
[twitch_chat_integration] Advanced chat [twitch_chat_integration theme="dark"]
[twitch_recording_download] VOD downloads [twitch_recording_download limit="10"]
[twitch_analytics] Analytics dashboard [twitch_analytics time_range="7d"]

Utility Shortcodes

Shortcode Description Example
[twitch_pwa_install] PWA install button [twitch_pwa_install text="Install App"]
[twitch_mobile_menu] Mobile navigation [twitch_mobile_menu position="left"]
[twitch_mobile_streams] Mobile stream grid [twitch_mobile_streams limit="10"]
[twitch_push_notifications] Notification settings [twitch_push_notifications show_settings="true"]
[twitch_upcoming_streams] Upcoming streams [twitch_upcoming_streams limit="5"]
[twitch_stream_schedule] Weekly schedule [twitch_stream_schedule days="7"]

⚙️ Admin Settings

Main Settings Page

WordPress Admin → Settings → SpeedySwifter Twitch API

  • Client ID & Secret – Twitch API credentials
  • Caching Options – Token and data caching settings
  • Display Options – Default player dimensions and themes

Mobile App Settings

WordPress Admin → SpeedySwifter Twitch Dashboard → Mobile App

  • PWA Configuration – App manifest and service worker settings
  • Push Notifications – VAPID keys and notification preferences
  • Theme Settings – Mobile app appearance customization

Stream Scheduler

WordPress Admin → SpeedySwifter Twitch Dashboard → Stream Scheduler

  • Calendar Settings – Default view and time zone
  • Notification Settings – Email and push notification preferences
  • Recurring Patterns – Automated stream scheduling

Membership Integration

WordPress Admin → SpeedySwifter Twitch Dashboard → Membership

  • Plugin Detection – Auto-detection of membership plugins
  • Level Mapping – Map membership levels to access tiers
  • Content Restrictions – Configure access control rules

📂 Plugin Structure

WordPress-Twitch-Stream-Plugin/
│
├── 📄 wp-twitch-stream.php                    # Main plugin file
├── 📄 README.md                               # Documentation (7 languages)
├── 📄 LICENSE                                 # MIT License
│
├── 📁 admin/
│   ├── 📄 settings-page.php                   # Admin settings page
│   └── 📄 admin-styles.css                    # Admin styling
│
├── 📁 includes/
│   ├── 📄 twitch-api.php                      # API handler
│   ├── 📄 shortcode.php                       # Shortcode logic
│   ├── 📄 token-manager.php                   # Token caching
│   ├── 📄 gutenberg-block.php                 # Gutenberg blocks
│   ├── 📄 page-builder-compatibility.php      # Page builder integration
│   ├── 📄 cookie-integration.php              # Cookie banner integration
│   ├── 📄 sidebar-widgets.php                 # VOD & clips widgets
│   ├── 📄 donation-integration.php            # Donation system
│   ├── 📄 twitch-chat-integration.php         # Advanced chat
│   ├── 📄 stream-recording-download.php       # VOD downloads
│   ├── 📄 advanced-analytics-dashboard.php    # Analytics system
│   ├── 📄 multi-language-support.php          # i18n support
│   ├── 📄 woocommerce-integration.php         # eCommerce integration
│   ├── 📄 membership-plugin-integration.php   # Membership system
│   ├── 📄 advanced-shortcode-builder.php      # Shortcode builder
│   ├── 📄 visual-stream-scheduler.php         # Calendar scheduler
│   └── 📄 mobile-app-integration.php          # PWA & mobile app
│
├── 📁 assets/
│   ├── 📁 css/
│   │   ├── 📄 frontend.css                     # Frontend styles
│   │   ├── 📄 block.css                        # Gutenberg block styles
│   │   ├── 📄 page-builder-compatibility.css   # Page builder styles
│   │   ├── 📄 cookie-integration.css           # Cookie integration styles
│   │   ├── 📄 vod-clips.css                    # VOD & clips styles
│   │   ├── 📄 donations.css                    # Donation system styles
│   │   ├── 📄 twitch-chat.css                  # Chat integration styles
│   │   ├── 📄 recording-download.css           # Download system styles
│   │   ├── 📄 analytics-dashboard.css          # Analytics styles
│   │   ├── 📄 language-support.css             # Multi-language styles
│   │   ├── 📄 woocommerce-integration.css      # eCommerce styles
│   │   ├── 📄 membership-integration.css       # Membership styles
│   │   ├── 📄 shortcode-builder.css            # Builder interface styles
│   │   ├── 📄 stream-scheduler.css             # Calendar styles
│   │   └── 📄 mobile-app.css                   # Mobile app styles
│   └── 📁 js/
│       ├── 📄 player.js                        # Player functions
│       ├── 📄 block.js                         # Gutenberg block JavaScript
│       ├── 📄 oxygen-builder.js                # Oxygen builder JS
│       ├── 📄 divi-builder.js                  # Divi builder JS
│       ├── 📄 donations.js                     # Donation system JS
│       ├── 📄 twitch-chat.js                   # Chat integration JS
│       ├── 📄 recording-download.js            # Download system JS
│       ├── 📄 analytics-dashboard.js           # Analytics JS
│       ├── 📄 language-support.js              # Multi-language JS
│       ├── 📄 woocommerce-integration.js       # eCommerce JS
│       ├── 📄 membership-integration.js        # Membership JS
│       ├── 📄 shortcode-builder.js             # Builder interface JS
│       ├── 📄 stream-scheduler.js              # Calendar JS
│       └── 📄 mobile-app.js                    # Mobile app JS
│
├── 📁 docs/
│   ├── 📄 cookie-banner-integration.md        # Cookie integration tutorial
│   ├── 📄 membership-plugin-integration.md    # Membership setup guide
│   ├── 📄 mobile-app-setup.md                 # PWA configuration
│   └── 📄 api-reference.md                    # Complete API reference
│
├── 📁 languages/
│   ├── 📄 wp-twitch-stream-en_US.po
│   ├── 📄 wp-twitch-stream-en_US.mo
│   ├── 📄 wp-twitch-stream-de_DE.po
│   ├── 📄 wp-twitch-stream-de_DE.mo
│   ├── 📄 wp-twitch-stream-fr_FR.po
│   ├── 📄 wp-twitch-stream-fr_FR.mo
│   ├── 📄 wp-twitch-stream-es_ES.po
│   ├── 📄 wp-twitch-stream-es_ES.mo
│   ├── 📄 wp-twitch-stream-ru_RU.po
│   ├── 📄 wp-twitch-stream-ru_RU.mo
│   ├── 📄 wp-twitch-stream-pt_PT.po
│   ├── 📄 wp-twitch-stream-pt_PT.mo
│   ├── 📄 wp-twitch-stream-ja_JP.po
│   └── 📄 wp-twitch-stream-ja_JP.mo
│
└── 📁 templates/
    ├── 📄 offline-page.html                   # PWA offline page
    └── 📄 mobile-app-manifest.json            # PWA manifest template

🌍 Languages / Sprachen

The plugin supports 7 languages with complete translations:

🇺🇸 English (en_US) - Default

  • Complete English documentation and interface

🇩🇪 Deutsch (de_DE)

  • Vollständige deutsche Dokumentation und Benutzeroberfläche

🇫🇷 Français (fr_FR)

  • Documentation et interface utilisateur complètes en français

🇪🇸 Español (es_ES)

  • Documentación e interfaz de usuario completas en español

🇷🇺 Русский (ru_RU)

  • Полная документация и пользовательский интерфейс на русском

🇵🇹 Português (pt_PT)

  • Documentação e interface do usuário completas em português

🇯🇵 日本語 (ja_JP)

  • 完全な日本語のドキュメントとユーザーインターフェース

📊 Version History

v1.7.2 - WordPress.org Review Compliance 🔒

  • 🔒 Security: Added proper sanitization for all $_SERVER, $_POST, $_GET inputs
  • 🔒 Security: Added escaping for all outputs (replaced _e() with esc_html_e())
  • 🔒 Security: Added HMAC signature verification for Twitch webhook endpoint
  • 🔒 Security: Added sanitize_callback to all register_setting() calls
  • 🔒 Security: Added nonce verification to all admin form handlers
  • 📋 Compliance: Renamed plugin to "SpeedySwifter Stream Integrator for Twitch"
  • 📋 Compliance: Updated all class/function/hook names with unique SPSWIFTER_ prefix
  • 📋 Compliance: Moved all inline

This README is longer than the copy stored here. Read the rest on GitHub →