TwitchPress

Description

Forge the ultimate tool in your quest to attract viewers using the power of
Twitch and WordPress combined. This is the ultimate recipe – fusing the purple
Twitch API energy with the power of a Content Management Solution like WP.

TwitchPress is unofficial and has not been endorsed by Twitch Interactive, Inc. Use of this plugin requires
the full understanding and acceptance of Twitch Interactive, Inc. terms of service.

Links

Features List

  • Sign-In Via Twitch
  • Various shortcodes
  • Registration Via Twitch
  • Embed Live Streams
  • Embed Live Chat
  • Helix (API v6) supported

Languages

Translator needed to localize the Channel Solution for Twitch.

Contributors

Donators, GitHub contributors and developers who support me when working on TwitchPress will be listed here.

  • nookyyy – A popular Twitch.tv streamer who done half of the testing.
  • IBurn36360 – Author of the main Twitch API class on GitHub.
  • Automattic – The plugins initial design is massively based on their work.
  • Ashley Rich – I used a great class by Ashley (Username A5shleyRich).

Version Numbers and Updating

Explanation of versioning used by myself Ryan Bayne. The versioning scheme I use is called “Semantic Versioning 2.0.0” and more
information about it can be found at http://semver.org/

These are the rules followed to increase the TwitchPress plugin version number. Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Blocks

This plugin provides 10 blocks.

  • Twitch Channel Chat
  • Live Interactive Video
  • Top Games List
  • Twitch Members Only
  • Embed Everything
  • Video Gallery
  • Bits Leaderboard
  • Main Channel Chat
  • Live Video (not interactive)
  • Display Single Video

Installation

  1. Method 1: Move folder inside the .zip file into the “wp-content/plugins/” directory if your website is stored locally. Then upload the new plugin folder using your FTP program.
  2. Method 2: Use your hosting control panels file manager to upload the plugin folder (not the .zip, only the folder inside it) to the “wp-content/plugins/” directory.
  3. Method 3: In your WordPress admin click on Plugins then click on Add New. You can search for your plugin there and perform the installation easily. This method does not apply to premium plugins.

Reviews

February 23, 2021
Nice Plugin. But is there a way to pull/show statistic of other Channels to my website? I want to show up-to-date statistic of my friends channels and want to display the followers, avg watcher and so on.
Read all 1 review

Contributors & Developers

“TwitchPress” is open source software. The following people have contributed to this plugin.

Contributors

Translate “TwitchPress” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.9.0 Released 18th February 2021

  • New Features
    • Added a page template for displaying two streams side by side (Splitscreen)
  • Feature Changes
    • None
  • Faults Resolved
    • Installation error resolved
  • Technical Notes
    • Kraken files/code have now been fully removed from the plugin
    • Removed a second use of establish_user_token() in twitchpress_init_main_channel_twitch_oauth()
  • Configuration Advice
    • Create custom meta “twitchpress_channel_one” and “twitchpress_channel_two” to create the new Splitscreen page
  • Database Changes
    • None

3.8.1 Released 14th February 2021

  • Faults Resolved
    • Valid user tokens are no longer replaced, reducing API calls.
    • Some users experienced login issues
  • Feature Improvements
    • Commercials – added a test tool for starting commercials on your Twitch channel
    • Error display can now be seen when logged out if IP address added to whitelist
  • Technical Notes
    • Function twitchpress_update_user_token() now uses the correct key to store user token in the object registry.
    • Added parameters to all uses of wp_die() to make it easier to locate use.
    • Function validate_user_token() now passes Authorization OAuth token which replaces the default “Bearer”.
    • Function add_headers() in the Curl class now correctly replaces existing headers (not determined if this fixes anything yet).
    • twitchpress_are_errors_allowed() now displays errors for whitelisted IP and skips user related checks – intended for localhost
  • Configuration Advice
    • None
  • Database Changes
    • None

3.8.0 Released 12th February 2021

  • Faults Resolved
    • A fix causing debugging output in a way that made it difficult to access admin.
  • Feature Improvements
    • None
  • Technical Notes
    • Function get_current_userobject_authd() now uses object registry to get user token rather than get_user_meta()
  • Configuration Advice
    • None
  • Database Changes
    • None

3.7.0 Released 12th February 2021

  • Faults Resolved
    • A fix relating to users API credentials not loading properly.
  • Feature Improvements
    • New Scope: moderation:read
  • Technical Notes
    • None
  • Configuration Advice
    • None
  • Database Changes
    • None=

3.6.1 Released 8th February 2021

  • Faults Resolved
    • Complex issues with storing and maintaining API credentials took hours to track but are fixed
    • Owners oAuth token refreshes better (related to accessing main channel data)
    • Improved token refresh solves sudden inability to get Twitch data
    • Fixed login by Twitch caused by the procedures inability to obtain app credentials
  • Feature Improvements
    • Twitch subscription tier filters added to Users view
    • New helix scope added: channel:read:subscriptions
  • Technical Notes
    • Updated scopes array in class TwitchPress_Twitch_API()
    • Updated scopes function twitchpress_scopes()
    • Status column replaces outcome column in the activity table
    • New outcome column in activity table stores fully explained outcome now
    • Removed database table for logging “outcomes”, the data will now be stored in the “activity” table
    • Main channel credentials now updated during main channel owners login
    • Function establish_user_token() now updates main channel credentials for keyholder only (WP ID 1)
    • Function establish_user_token() now defaults to an else argument instead of elseif as this function always returns a returned value
    • Some main channel update functions were not storing the sanitized value, also renamed the sanitized value
    • Added registry lines to user update functions as in main channel functions
    • Function twitchpress_get_user_token() now uses establish_user_token() and not raw database value
    • Function refresh_token_by_userid() no longer performs database updates as it is called by a method that does
    • Removed class.twitchpress-history.php as database logging is replacing the use of transients
    • BugNet install() no longer adds actions for primary_tables_registration() as this is done in configuration of BugNet
    • Object registry no longer stores entire classes but only set groups of values from those classes
    • Developer content dump is much neater and includes more backtrace.
  • Configuration Advice
    • None
  • Database Changes
    • Added “expiry” column to the twitchpress_meta table to help clean-up short-use data
    • Value for the metavalue column is now “longstring” to hold API responses

3.6.0 Released 21st October 2020

  • Faults Resolved
    • Corrections made to BugNet database table installation script.
  • Feature Improvements
    • API focused logging added – the existing BugNet logging service is still the global debugging tool
    • Beta Feature: Live Menu section added to General settings for a front-end live stream menu feature
    • Beta Feature: Main Team section added to General Settings for managing a default team
    • Option added for activating new API logging (sites should be monitored for permance decrease when using using this new feature)
    • Added option to General/Systems for activating Twitch subscription data syncing (twitchpress_twitchsubscribers_switch)
    • New sub syncing option also added to Setup Wizard
    • Option added to Twitch API General tab for activating API logging
  • Technical Notes
    • Adapted the call_execute() method in the TwitchPress API class to loop and prepare data for pagination
    • Curl Change: function decode_body() now applies array_merge() to handle looped/paginated procedures
    • Curl Change: function do_call() no longer executes a call if a transient(cache) is allowed for the procedure
    • New “Display Subscribers” tool mainly for testing subscription queries to Twitch.tv right now (this requires testing please)
    • Database tables class TwitchPress_Install_Tables() created and will initially install tables for logging API activity
    • Removed update related lines from function twitchpress_installation_prepare() due to new database tables class
    • Deleted file class.twitchpress-logger.php as this logging approach is incomplete, lines in background-updater.php commented-out
    • Created class.twitchpress_api_logging.php which is uses to add logging data to the new tables
    • The new TwitchPress_API_Logging::error() has been added throughout WP_Http_Curl->request()
    • Removed quick-tool tool_user_sync_twitch_sub_data() as it only used the current users credentials which is an unsufficiant approach.
    • Removed function get_broadcasters_subscribers() as the Twitch API no longer includes the matching documentation
    • Changed function get_broadcaster_subscriptions() to include $user_id paramater and replaced uses of get_broadcasters_subscribers() with it
    • Global TWITCHPRESS_CALL_COUNTER renamed to TWITCHPRESS_RETRY_CALL_LIMIT because it is a limit on retrying failed calls
    • Login procedure has new “if” statement for the shortcode version changed, only calls login_success() (not a security related method) on Twitch authentication.
    • Removed class.twitchpress-all-k raken5requests.php as the data view is being replaced
    • Time spent preparing clear logging messages for Twitch subscription syncing
  • Configuration Advice
    • None
  • Database Changes
    • The following tables are now installed by the core plugin by default…
    • [prefix]_tpapi_activity
    • [prefix]_tpapi_errors
    • [prefix]_tpapi_results
    • [prefix]_tpapi_endpoints
    • [prefix]_tpapi_meta
    • Naming pattern is to avoid conflict with other plugin tables while keeping names short

3.5.2 Released 4th July 2020

  • Faults Resolved
    • Changed path to Discord API file again to correct error seen on activation
  • Feature Improvements
    • None
  • Technical Notes
    • Replaced “require” with “include_once” in All API loader.php file
  • Configuration Advice
    • None
  • Database Changes
    • None=

When To Update

Browse the changes log and decide if an update is required. There is nothing wrong with skipping version if it does not
help you – look for security related changes or new features that could really benefit you. If you do not see any you may want
to avoid updating. If you decide to apply the new version – do so after you have backedup your entire WordPress installation
(files and data). Files only or data only is not a suitable backup. Every WordPress installation is different and creates a different
environment for WTG Task Manager – possibly an environment that triggers faults with the new version of this software. This is common
in software development and it is why we need to make preparations that allow reversal of major changes to our website.