This is a complete rewrite of my popular live streaming scraper for XenForo.
XenRio periodically evaluates various APIs to keep your users informed about live broadcasts relevant to your community.
Demo :
Live streams
Basic Features :
This addon has been updated with support for XF2.1. XF2.1 will be required for this and all future updates.
GuzzleHTTP cURL updated
Approval queue redesigned
2.1.0.1 - CHANGELOG :
Fixed the requirement notice for XF2.1.
Version 2.1.0.5 CHANGELOG :
Small entity changes in order to comply with Twitch's new embed policies.
This update will reinstall/overwrite your service settings. If you have made customizations, you may need to re-apply them.
Version 2.1.0.6 - CHANGELOG
I've reverted the current version from 2.2.0.0 to 2.1.0.6... as the changes made for the addon to work in XF2.2, still work in XF2.1. So if you are still running 2.1.0.5, you can now upgrade to 2.1.0.6 and get all the upgrades and fixes in the newest version.
When deleting a service, channels/spellings belonging to that service will now be deleted with it.
After upgrading this addon, it will now automatically re-install all services. This will auto-maintain XML changes, as well as install new added services. It is also specifically programmed to ignore previously deleted services of Mixer and Stream.Me.
Fixed a bug with Twitch scraping if you have more than 100 channels in your channel list.
Mixer is DEAD. After upgrading. please DELETE Mixer from your services list.
Version 2.1.0.7 - CHANGELOG : Support for Trovo has been added.
Version 2.1.0.8 - CHANGELOG : Trovo's API now supports stream and chat embeds.
Version 2.1.0.9 - CHANGELOG
YouTube returns as a valid channel scraping service! YouTube's API restrictions make it unusable as a scraping service. But I've implemented a change in the way information is grabbed for a YouTube stream... It now, no longer uses the YouTube API at all (no API key required anymore). Instead it will scrape a channel's homepage for HTML, and analyze the result with regular expressions to see if any live streams have been pinned to the top of the channel. Regular expressions are slow, so its much slower than using an API... but it works without restrictions (while the API doesn't).
Periscope has been added as a channel scraping service! Periscope scraping works the same exact way as YouTube scraping; with HTML and regular expressions. However, Periscope streams do not have valid working thumbnails, so Periscope streams will instead have a generic thumbnail.
Version 2.1.1.0 - CHANGELOG
You can now sort streams by language. The language menu will show up automatically if you have languages defined in your options. Only DLive, Smashcast, Trovo and Twitch return language codes.
The multi-viewer's "supported services" list will now only list services with embed codes.
Twitch's game restriction API is broken and often returns misaligned results. We've reverted back to scraping each game individually to avoid this.
Offline channel links to YouTube will no longer show broken embeds; they will instead link to that channel's most recent stream.
You can now add YouTube videos to the multi-viewer.
Adding streams to the multi-viewer will no longer crash the javascript if the URL is invalid.
Version 2.1.1.1 - CHANGELOG
The "showcase" will now show up on all page-1s, instead of only on the index.
Showcase background images are now uploaded directly in the admin CP.
Completely redesigned the language menu. It is now more obvious what it does.
The language list will now always show, and is generated automatically based on the collection of all languages of current live streams, instead of being generated by your language restrictions. This way you will have a language menu, even if you are not restricting by languages.
Language selection is now stored in a cookie; instead of in the URL.
Language can now be determined on Periscope streams as well.
Fixed a bug where if a spelling of a game is not found when creating a game listing, the game will still be created and return "already exists" errors.
Fixed a bug related to Twitch API changes where game names are no longer getting registered.
Version 2.1.1.2 - CHANGELOG
Made the showcase clickable. Left the bottom unclickable, so you can control the media.
Updated language phrases to be more inline with native formatting.
Cleaned up some formatting of the language menu and added the language to tiles.
Version 2.1.1.3 - CHANGELOG
Updated the addon to be compatible with the PCRE changes in the most recent version of PHP. It will still work with the older versions of PHP without issues.
Fixed a bug where the default showcase background would not show for streams without games.
YouTube changed their code again... so now this addon is fixed to conform to their new code.
Version 2.1.1.4 CHANGELOG :
Added support for Glimesh. Client-ID and Secret are required to use this service.
Removed support for Smashcast. You should delete this service if you have not done so already.
The multi-viewer will no longer list streams on services which do not support embeds.
BUG FIX : fixed YouTube scraping related to curly braces and semi-colons.
Version 2.1.1.5 CHANGELOG :
- Support for Periscope has been removed as Periscope no longer exists.
- Embed codes for Picarto have been added! Also fixed their API location.
- Embed codes for Trovo have been updated. Do notice however that Trovo now requires you to get your website whitelisted before the embed codes will function. As such, you will have to email their developer program to get this process started.
- Fixed some issues with the scraping of YouTube channels. Apparently, PHP has a limit on the amount of data you can feed into PCRE; and the default limit on PHP 7 is about 1mb. Some YouTube pages are bigger than that. As such, if a page was bigger than that, this addon would fail to parse that channel.
- Twitch deprecated their old API this month. I already converted everything to their new API last year; but if you experience any issues, you should let me know.
- Service icons have been added in the service menu.
Version 2.1.1.6 CHANGELOG :
- Fixed an issue where Trovo would silently fail if it encountered a game without any active live streams.
- Fixed an issue with Trovo embedding where a channel's username and it's nickname were in conflict.
- You can now restrict Trovo listings by ISO language codes. Do keep in mind that unlike Twitch, this restriction is POST-scrape, rather than during-scrape. This means if you are restricting by games, Trovo will scrape the top 100 streams playing that game, in ANY language; then it will simply throw out any listings not playing approved languages. While Twitch would return 100 streams playing approved languages, Trovo could end up returning significantly less than that.
XenRio periodically evaluates various APIs to keep your users informed about live broadcasts relevant to your community.
Demo :
Live streams
Basic Features :
- Scrapes supported platforms for live stream information
- Embeds streams directly on your forum to prevent bouncing
- Allows the end user to sort streams based on categories
- Offers a complex and share-able multi-stream viewer
- Twitch (requires an API key)
- Create an app (Any Oauth URI)
- Use your "client ID" as the API key"
- Mixer
- Smashcast
- Stream.Me
- YouTube (requires an API key)
- Create a project and an API key
- Follows the basic XF addon procedures:
Add-ons - XenForo 2 Manual - Don't forget to set up your permissions
- After installing this addon, head to your admin control panel
- Run the appropriate import procedure in Tools > Import Data
This addon has been updated with support for XF2.1. XF2.1 will be required for this and all future updates.
GuzzleHTTP cURL updated
Approval queue redesigned
2.1.0.1 - CHANGELOG :
Fixed the requirement notice for XF2.1.
Version 2.1.0.5 CHANGELOG :
Small entity changes in order to comply with Twitch's new embed policies.
This update will reinstall/overwrite your service settings. If you have made customizations, you may need to re-apply them.
Version 2.1.0.6 - CHANGELOG
I've reverted the current version from 2.2.0.0 to 2.1.0.6... as the changes made for the addon to work in XF2.2, still work in XF2.1. So if you are still running 2.1.0.5, you can now upgrade to 2.1.0.6 and get all the upgrades and fixes in the newest version.
When deleting a service, channels/spellings belonging to that service will now be deleted with it.
After upgrading this addon, it will now automatically re-install all services. This will auto-maintain XML changes, as well as install new added services. It is also specifically programmed to ignore previously deleted services of Mixer and Stream.Me.
Fixed a bug with Twitch scraping if you have more than 100 channels in your channel list.
Mixer is DEAD. After upgrading. please DELETE Mixer from your services list.
Version 2.1.0.7 - CHANGELOG : Support for Trovo has been added.
Version 2.1.0.8 - CHANGELOG : Trovo's API now supports stream and chat embeds.
Version 2.1.0.9 - CHANGELOG
YouTube returns as a valid channel scraping service! YouTube's API restrictions make it unusable as a scraping service. But I've implemented a change in the way information is grabbed for a YouTube stream... It now, no longer uses the YouTube API at all (no API key required anymore). Instead it will scrape a channel's homepage for HTML, and analyze the result with regular expressions to see if any live streams have been pinned to the top of the channel. Regular expressions are slow, so its much slower than using an API... but it works without restrictions (while the API doesn't).
Periscope has been added as a channel scraping service! Periscope scraping works the same exact way as YouTube scraping; with HTML and regular expressions. However, Periscope streams do not have valid working thumbnails, so Periscope streams will instead have a generic thumbnail.
Version 2.1.1.0 - CHANGELOG
You can now sort streams by language. The language menu will show up automatically if you have languages defined in your options. Only DLive, Smashcast, Trovo and Twitch return language codes.
The multi-viewer's "supported services" list will now only list services with embed codes.
Twitch's game restriction API is broken and often returns misaligned results. We've reverted back to scraping each game individually to avoid this.
Offline channel links to YouTube will no longer show broken embeds; they will instead link to that channel's most recent stream.
You can now add YouTube videos to the multi-viewer.
Adding streams to the multi-viewer will no longer crash the javascript if the URL is invalid.
Version 2.1.1.1 - CHANGELOG
The "showcase" will now show up on all page-1s, instead of only on the index.
Showcase background images are now uploaded directly in the admin CP.
Completely redesigned the language menu. It is now more obvious what it does.
The language list will now always show, and is generated automatically based on the collection of all languages of current live streams, instead of being generated by your language restrictions. This way you will have a language menu, even if you are not restricting by languages.
Language selection is now stored in a cookie; instead of in the URL.
Language can now be determined on Periscope streams as well.
Fixed a bug where if a spelling of a game is not found when creating a game listing, the game will still be created and return "already exists" errors.
Fixed a bug related to Twitch API changes where game names are no longer getting registered.
Version 2.1.1.2 - CHANGELOG
Made the showcase clickable. Left the bottom unclickable, so you can control the media.
Updated language phrases to be more inline with native formatting.
Cleaned up some formatting of the language menu and added the language to tiles.
Version 2.1.1.3 - CHANGELOG
Updated the addon to be compatible with the PCRE changes in the most recent version of PHP. It will still work with the older versions of PHP without issues.
Fixed a bug where the default showcase background would not show for streams without games.
YouTube changed their code again... so now this addon is fixed to conform to their new code.
Version 2.1.1.4 CHANGELOG :
Added support for Glimesh. Client-ID and Secret are required to use this service.
Removed support for Smashcast. You should delete this service if you have not done so already.
The multi-viewer will no longer list streams on services which do not support embeds.
BUG FIX : fixed YouTube scraping related to curly braces and semi-colons.
Version 2.1.1.5 CHANGELOG :
- Support for Periscope has been removed as Periscope no longer exists.
- Embed codes for Picarto have been added! Also fixed their API location.
- Embed codes for Trovo have been updated. Do notice however that Trovo now requires you to get your website whitelisted before the embed codes will function. As such, you will have to email their developer program to get this process started.
- Fixed some issues with the scraping of YouTube channels. Apparently, PHP has a limit on the amount of data you can feed into PCRE; and the default limit on PHP 7 is about 1mb. Some YouTube pages are bigger than that. As such, if a page was bigger than that, this addon would fail to parse that channel.
- Twitch deprecated their old API this month. I already converted everything to their new API last year; but if you experience any issues, you should let me know.
- Service icons have been added in the service menu.
Version 2.1.1.6 CHANGELOG :
- Fixed an issue where Trovo would silently fail if it encountered a game without any active live streams.
- Fixed an issue with Trovo embedding where a channel's username and it's nickname were in conflict.
- You can now restrict Trovo listings by ISO language codes. Do keep in mind that unlike Twitch, this restriction is POST-scrape, rather than during-scrape. This means if you are restricting by games, Trovo will scrape the top 100 streams playing that game, in ANY language; then it will simply throw out any listings not playing approved languages. While Twitch would return 100 streams playing approved languages, Trovo could end up returning significantly less than that.
[OzzModz] Cloudflare Image Resizing - On Demand Responsive Images
2.0.0 Patch Level 1
Attachments