Ceci est une réécriture complète de mon populaire live streaming scraper en direct pour XenForo.
XenRio évalue périodiquement diverses API afin de tenir vos utilisateurs informés des émissions en direct pertinentes pour votre communauté.
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.
Télécharger V2.1.0.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.
Télécharger V2.1.0.5 :
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.
Télécharger V2.1.1.3 :
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.
Télécharger V2.1.1.4 :
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.
Télécharger V2.1.1.6 :
Version 2.3.0.5 - CHANGELOG :
XenRio évalue périodiquement diverses API afin de tenir vos utilisateurs informés des émissions en direct pertinentes pour votre communauté.
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.
Télécharger V2.1.0.1 :
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
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.
Télécharger V2.1.0.5 :
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
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.
Télécharger V2.1.1.3 :
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
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.
Télécharger V2.1.1.4 :
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
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.
Télécharger V2.1.1.6 :
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.
Version 2.1.1.7 :
Version 2.3.0.2 :
Version 2.3.0.4 :
- YouTube support has been COMPLETELY re-written. With the change to @custom_urls for channels, YouTube finally got their API working somewhat more consistently. So we've gone back to API scraping, instead of hitting the moving target of HTML scraping. As such, an API key is now required to continue using YouTube.
- Glimesh support has been removed. #RIP
- Support for VKPlay has been added. Chat embed is non-functioning, but everything else should be working fine.
- Dead streams from services which have been removed will now return a proper 404 error, instead of a blank white page.
- YouTube integration has been changed once again. Apparently, Google only gives new developers 10,000 quota points per day, which is far less than the 100,000 I have. Searching for live streams on a single YouTube channel nearly blows this entire quota. If you have multiple YouTube channels, then you're screwed. So I've had to refactor the code to being a hybrid between API and HTTP scraping calls.
- YouTube live streams will now display which "category" that stream belongs to.
- YouTube live streams will now select their primary language if found.
- BUG FIX: Fixed a bug that prevented variable imploding in PHP8+.
- Redirect links will now point to the actual live stream video, instead of the channel that video belongs to. This is important for channels that have multiple live streams, like on YouTube.
- YouTube live streams will now store the most recent live stream in memory, so after all a stream ends, clicking on the channel link (if you have offline channels enabled) will play the most recent stream archive.
- BUG FIX: Fixed the multi-viewer display for YouTube live streams. Keep in mind that if you want to add a live stream from YouTube, you must put in the actual stream URL, not the channel link.
- BUG FIX: Fixed an issue where the YouTube scraper would not find a channel's live streams, if the channel had an "upcoming" stream scheduled in front of the actual live streams.
- This release updates the addon to work with XenForo 2.3+.
Version 2.3.0.2 :
- Added support for Kick! Kick still hasn't opened their API, so I am using a third-party endpoint to get around their domain white-listing. When Kick opens their API, we will switch over to the official endpoints.
- Updated Trovo support with their URL changes.
- Updated VKPlay support with their URL changes.
- Embeds will now "hide" the chat embeds for services which support video embedding, but not chats.
- BUG FIX: stream titles will now be applied properly on offline stream pages.
- BUG FIX: language restrictions will now apply properly with Twitch scraping.
- BUG FIX: the multi-stream viewer will now re-apply triggers when adding streams.
Version 2.3.0.4 :
- Completely rewrote the multi-viewer javascript.
- I honestly can't remember why I rewrote it, just that something was broken. I rewrote it a year ago, but never released the update because I was having compiling issues with XF 2.3.6, which weren't fixed until XF 2.3.7... and then I just forgot about it.
- Completely rewrote the Kick integration.
- Kick finally released their API development platform, and shut down their old "unpublished" API which we were using. The new API requires you to create an app and receive an client ID and secret. Redirect URI does not matter, but make sure to enable
[I]Read user information[/I]and[I]Read channel information[/I]. - You can use ALL scrape restriction settings.
- You can limit results to specific languages.
- You can search the Kick API for matching game spellings.
- Kick still does not have a chatroom embed.
- Kick's API has known issues with thumbnails.
- Kick finally released their API development platform, and shut down their old "unpublished" API which we were using. The new API requires you to create an app and receive an client ID and secret. Redirect URI does not matter, but make sure to enable
- YouTube game scrapping is now back! Since YouTube deprecated their Freebase topic system, game spellings were lost. YouTube has since started creating "auto-generated" channels which automatically list streams and videos on certain topics. Putting in the URL of one of these auto-generated channels as a spelling for a game, will allow the scraping of these channels. Below are several examples:
- Tile thumbnails will now conform to correct aspect ratios. This is important to services such as Kick, which allow vertical phone streaming. Since Kick did not enforce 16:9 thumbnails, it could lead to odd tiling.
- BUG FIX: Fixed an issue with queue URLs where the channel and a live stream URL are different.
- A new column for services has been added to accommodate for this difference.
Pour consulter le contenu, vous devez : Se connecter ou S'inscrire.

