nicklaw5/twitch-api-php
PHP client library for the Twitch API. Includes easy methods for Helix and legacy endpoints, OAuth authentication flows, and request helpers to fetch streams, users, channels, videos, clips, and more. Useful for building Twitch integrations in PHP apps.
EventSubApi -> subscribeToChannelShieldMode to version 1EventSubApi -> subscribeToChannelFollow to version 2EventSubApi -> subscribeToChannelCharityCampaign to version 1EventSubApi -> drop.entitlement.grant by adding required parameter of is_batching_enabled (@alexschastny)ChatApi -> sendShoutoutEventSubApi -> subscribeToChannelShoutoutChannelsApi -> getFollowedChannelsChannelsApi -> getChannelFollowersGoalsApiGoalsApi -> getGoals (Thanks @radiojoe!)fulfillmentStatus parameter to EntitlementsApi -> getDropsEntitlements (Thanks @alexschastny!)CharityApiCharityApi -> getCharityCampaignCharityApi -> getCharityCampaignDonationsModerationApi -> getShieldModeStatusModerationApi -> updateShieldModeStatusChatApi -> getChattersEventSub -> channel.charity_campaign.startEventSub -> channel.charity_campaign.progressEventSub -> channel.charity_campaign.stopEventSub -> channel.charity_campaign.donateEventSub -> channel.shield_mode.beginEventSub -> channel.shield_mode.endupdateDropEntitlements now allows you to specify no parameters, in line with the API Docsfirst parameter to getBannedUsersfirst parameter to getModeratorsEventSub -> drop.entitlement.grantFull Changelog: https://github.com/nicklaw5/twitch-api-php/compare/v7.0.0...v7.0.1
This update completes a large amount of endpoint coverage including most of the endpoints released in 2022. A number of changes have occurred to functions that were not working and some changes that happened in the Twitch API itself. Please be sure to review the breaking changes and the other release notes below.
getBannedEvents and getModeratorEvents - Announcementid parameter from getHypeTrainEvents (this function was broken anyways) - Announcementuser_id parameter from checkAutoModStatus - AnnouncementEventSub -> extension.bits_transaction.crate to version 1user_id parameter to getEventSubSubscriptionChatApi -> getChatSettingsChatApi -> updateChatSettingsChatApi -> sendChatAnnouncementChatApi -> getUserChatColorChatApi -> updateUserChatColorEventSub -> user.authorization.grantEventSub -> channel.goal.beginEventSub -> channel.goal.progressEventSub -> channel.goal.endModerationApi -> banUserModerationApi -> unbanUserModerationApi -> getAutoModSettingsModerationApi -> updateAutoModSettingsModerationApi -> getBlockedTermsModerationApi -> addBlockedTermModerationApi -> removeBlockedTermModerationApi -> deleteChatMessagesModerationApi -> addChannelModeratorModerationApi -> removeChannelModeratorModerationApi -> getVipsModerationApi -> addChannelVipModerationApi -> removeChannelVipRaidsApiRaidsApi -> startRaidRaidsApi -> cancelRaidWhispersApiWhispersApi -> sendWhisperFull Changelog: https://github.com/nicklaw5/twitch-api-php/compare/v6.1.0...v7.0.0
NEW FEATURES
The V5 API (Kraken) was considered legacy for some time now, and as of July 15, 2021, began a gradual shutdown. If you have not accessed v5 before this date, you can no longer access that API. For those who are continuing to use it until February 2022, you should remain on a lower version of this library, however we would encourage you to upgrade to a compatible endpoint. Read more here.
NewTwitchApi to TwitchApiWe've updated the name of the namespace to be consistent with the language from Twitch, which is Twitch API. We've added some code that will remain in for the current future that allows continued calls to the NewTwitchApi Namespace and Classes. You should begin using the new classes ASAP by updating your code. Any time you have been individually initializing classes instead of using our helper functions you will begin to receive errors until you update your namespace and classes. You can review the Getting Started section of the README for more information.
If you were previously using:
$helixGuzzleClient = new \NewTwitchApi\HelixGuzzleClient($twitch_client_id);
$newTwitchApi = new \NewTwitchApi\NewTwitchApi($helixGuzzleClient, $twitch_client_id, $twitch_client_secret);
You should change this code to:
$helixGuzzleClient = new \TwitchApi\HelixGuzzleClient($twitch_client_id);
$twitchApi = new \TwitchApi\TwitchApi($helixGuzzleClient, $twitch_client_id, $twitch_client_secret);
Not changing this code will not break your project at this time but in the future, when the legacy classes are removed, your project will begin to throw errors. No timeline has been announced for this yet.
BREAKING CHANGES
NewTwitchApi to TwitchApiNewTwitchApi Class to TwitchApicreateUserFollow and deleteUserFollow from UsersApi (Twitch Announcement)MAINTENANCE
NewTwitchApi\NewTwitchApi Class that extends TwitchApi\TwitchApi for backwards compatibilityNewTwitchApi\HelixGuzzleClient Class that extends TwitchApi\HelixGuzzleClient for backwards compatibilityNEW FEATURES
ScheduleApiScheduleApi -> getChannelStreamScheduleScheduleApi -> getChanneliCalendar (optional auth)ScheduleApi -> updateChannelStreamScheduleScheduleApi -> createChannelStreamScheduleSegmentScheduleApi -> updateChannelStreamScheduleSegmentScheduleApi -> deleteChannelStreamScheduleSegmentEventSub->subscribeToChannelSubscriptionMessageCORE
getApiWithOptionalAuth for explicit calls with optional authentication (since all endpoints but 1 require auth at this time)NEW FEATURES
ChatApi->GetChannelEmotesChatApi->GetGlobalEmotesChatApi->GetEmotesSetThis release fixes some issues we introduced in v5.0 when we stopped extending the Guzzle Client.
BREAKING
CORE
HelixGuzzleClient to be a Guzzle MiddlewareGuzzle\Client to HelixGuzzleClientBREAKING
ChannelSubscriptionEnd from beta to v1 (renamed from ChannelUnsubscribe)NEW FEATURES
channel.subscription.gift to EventSub (beta)ChatApiChatApi->getChannelChatBadgesChatApi->getGlobalChatBadgesWe've prepared a major release which contains breaking changes and (basically) complete endpoint coverage. This also includes our introduction in support for the Event Sub API.
BREAKING CHANGES
SubscriptionsApi->getSubscriptionEvents #107 (pulled by Twitch)StreamsApi->getChannelInfo #105 (duplicate, moved to ChannelsApi)StreamsApi->getStreamTags #104 (duplicate, moved to TagsApi)StreamsApi->getStreamsMetadata #103 (pulled by Twitch)NEW FUNCTIONS
AdsApiAdsApi->startCommercialChannelsApi->modifyChannelInfoChannelPointsApi->createCustomRewardChannelPointsApi->updateCustomRewardChannelPointsApi->updateRedemptionStatusModerationApi->checkAutoModStatusModerationApi->manageHeldAutoModMessagePollsApi->createPollPollsApi->endPollPredictionsApi->createPredictionPredictionsApi->endPredictionStreamsApi->createStreamMarkerTagsApi->replaceStreamTagsEventSubApiCORE
NEW FEATURES
PollsApiPollsApi -> getPollsPredictionsApiPredictionsApi -> getPredictionsNEW FUNCTIONS
NEW FUNCTIONS
NEW FUNCTIONS
Thank you @ThibaultVlacich! 👍
BREAKING CHANGES
communityIds parameter in getStreams #89getEntitlmentGrantsUploadURL to createEntitlmentGrantsUploadURL #93NEW FUNCTIONS
MAINTENANCE
ChannelPointsApicallApi to getApi #92patchApi ability in librarypostApi ability in libraryputApi ability in librarydeleteApi ability in libraryVERSION NOTE Support for PHP 7.2 and 7.3 are no longer maintained and are not tested in our workflows. While there are no known issues at this time, we cannot guarantee this library will work on a version less than PHP 7.4 at the time of writing.
Thanks again to @brandinarsenault for his work!
Thanks, as always, to @brandinarsenault for his efforts!
This release includes:
New APIs:
New endpoints
A big thanks to @brandinarsenault for all his work!
This release includes a fix for the VideosApi submitted by @oldskool. #68
This version adds two new features:
Thanks to @brandinarsenault for adding these features!
This is the first release of major version 3 of the PHP Twitch API library! This release is not backwards compatible with previous versions. Please read the changelog for information.
php-cs-fixer to along with phpunit and phpspec.HUGE thanks to @brandinarsenault for all the work he put in to add new endpoints! A list of endpoints that still need to be added can be found here: https://github.com/nicklaw5/twitch-api-php/issues/24#issuecomment-641606606
If you require any of these of endpoints, please add them to the library and submit a PR!
This release includes @brandinarsenault's fix for authenticated calls to a couple of endpoints.
This release includes a number of new New Twitch API endpoints as well as other improvements and fixes.
Thanks to the following folks for helping create this version and improved this project for us all!
Add two missing webhook endpoints: "User Changed" and "User Follows" https://github.com/nicklaw5/twitch-api-php/pull/39
Version 2.1.0 changes:
Breaking Changes
Other Changes
language added to top clips.composer.jsonHow can I help you explore Laravel packages today?