SpeedySwifter Stream Integrator for Twitch
SpeedySwifter Stream Integrator for Twitch
by SpeedySwifter · github.com/speedyswifter/wordpress-twitch-stream-plugin · website
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)
- Download plugin as ZIP
- In WordPress: Plugins → Install → Upload Plugin
- Select ZIP file and install
- 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:
- Go to: https://dev.twitch.tv/console/apps
- Click "Register Your Application"
- Fill the form:
Name: Your WordPress Site
OAuth Redirect URLs: https://your-domain.com
Category: Website Integration
- Save and note:
- ✅ Client ID
- ✅ Client Secret (shown only once!)
2️⃣ Enter Credentials in WordPress
- In WordPress Admin: Settings → SpeedySwifter Twitch API
- Enter Client ID
- Enter Client Secret
- 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 →