diff --git a/docs/class-Illuminate.Support.Facades.Facade.html b/docs/class-Illuminate.Support.Facades.Facade.html new file mode 100644 index 00000000..504d6cbf --- /dev/null +++ b/docs/class-Illuminate.Support.Facades.Facade.html @@ -0,0 +1,663 @@ + + + + + + + + + + + + + Class Illuminate\Support\Facades\Facade + + + + + + + +
+
+
+

Facade

+ + + + +
+

Known subclasses

+ LINE\Laravel\Facade\LINEBot +
+ +
+ Abstract
+ + Open source code +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods Summary
+ + public static + + + + +
+ # + spy( ) + +
+ Convert the facade into a Mockery spy. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + shouldReceive( ) + +
+ Initiate a mock expectation on the facade. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + createFreshMockInstance( ) + +
+ Create a fresh mock instance for the given class. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + createMock( ) + +
+ Create a fresh mock instance for the given class. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + isMock( ) + +
+ Determines whether a mock is set as the instance of the facade. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + getMockableClass( ) + +
+ Get the mockable class for the bound instance. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + swap( mixed $instance ) + +
+ Hotswap the underlying instance behind the facade. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + getFacadeRoot( ) + +
+ Get the root object behind the facade. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + getFacadeAccessor( ) + +
+ Get the registered name of the component. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + resolveFacadeInstance( string|object $name ) + +
+ Resolve the facade root instance from the container. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + clearResolvedInstance( string $name ) + +
+ Clear a resolved facade instance. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + clearResolvedInstances( ) + +
+ Clear all of the resolved instances. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + getFacadeApplication( ) + +
+ Get the application instance behind the facade. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + setFacadeApplication( \Illuminate\Contracts\Foundation\Application $app ) + +
+ Set the application instance. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + __callStatic( string $method , array $args ) + +
+ Handle dynamic, static calls to the object. + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + +
Properties Summary
+ + protected static + + Illuminate\Contracts\Foundation\Application + + + + $app + +
+ The application instance being facaded. + +
+
+
+ # + NULL +
+
+ + protected static + + array + + + + $resolvedInstance + +
+ The resolved object instances. + +
+
+
+ # + NULL +
+
+ + + +
+
+
+ + + + + + + + + + diff --git a/docs/class-Illuminate.Support.ServiceProvider.html b/docs/class-Illuminate.Support.ServiceProvider.html new file mode 100644 index 00000000..dc4738f4 --- /dev/null +++ b/docs/class-Illuminate.Support.ServiceProvider.html @@ -0,0 +1,839 @@ + + + + + + + + + + + + + Class Illuminate\Support\ServiceProvider + + + + + + + +
+
+
+

ServiceProvider

+ + + + +
+

Known subclasses

+ LINE\Laravel\LINEBotServiceProvider +
+ +
+ Abstract
+ + Open source code +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods Summary
+ + public + + + + +
+ # + __construct( \Illuminate\Contracts\Foundation\Application $app ) + +
+ Create a new service provider instance. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + mergeConfigFrom( string $path , string $key ) + +
+ Merge the given configuration with the existing configuration. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + loadRoutesFrom( string $path ) + +
+ Load the given routes file if routes are not already cached. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + loadViewsFrom( string|array $path , string $namespace ) + +
+ Register a view file namespace. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + loadTranslationsFrom( string $path , string $namespace ) + +
+ Register a translation file namespace. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + loadJsonTranslationsFrom( string $path ) + +
+ Register a JSON translation file path. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + loadMigrationsFrom( array|string $paths ) + +
+ Register a database migration path. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + publishes( array $paths , string $group = NULL ) + +
+ Register paths to be published by the publish command. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + ensurePublishArrayInitialized( string $class ) + +
+ Ensure the publish array for the service provider is initialized. + + + + + + + + +
+
+
+ + protected + + + + +
+ # + addPublishGroup( string $group , array $paths ) + +
+ Add a publish group / tag to the service provider. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + pathsToPublish( string $provider = NULL, string $group = NULL ) + +
+ Get the paths to publish. + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + pathsForProviderOrGroup( string|null $provider , string|null $group ) + +
+ Get the paths for the provider or group (or both). + + + + + + + + +
+
+
+ + protected static + + + + +
+ # + pathsForProviderAndGroup( string $provider , string $group ) + +
+ Get the paths for the provider and group. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + publishableProviders( ) + +
+ Get the service providers available for publishing. + + + + + + + + +
+
+
+ + public static + + + + +
+ # + publishableGroups( ) + +
+ Get the groups available for publishing. + + + + + + + + +
+
+
+ + public + + + + +
+ # + commands( array|mixed $commands ) + +
+ Register the package's custom Artisan commands. + + + + + + + + +
+
+
+ + public + + + + +
+ # + provides( ) + +
+ Get the services provided by the provider. + + + + + + + + +
+
+
+ + public + + + + +
+ # + when( ) + +
+ Get the events that trigger this service provider to register. + + + + + + + + +
+
+
+ + public + + + + +
+ # + isDeferred( ) + +
+ Determine if the provider is deferred. + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Properties Summary
+ + protected + + Illuminate\Contracts\Foundation\Application + + + + $app + +
+ The application instance. + +
+
+
+ # + NULL +
+
+ + protected + + bool + + + + $defer + +
+ Indicates if loading of the provider is deferred. + +
+
+
+ # + false +
+
+ + public static + + array + + + + $publishes + +
+ The paths that should be published. + +
+
+
+ # + array ( +) +
+
+ + public static + + array + + + + $publishGroups + +
+ The paths that should be published by group. + +
+
+
+ # + array ( +) +
+
+ + + +
+
+
+ + + + + + + + + + diff --git a/docs/class-LINE.LINEBot.Constant.Meta.html b/docs/class-LINE.LINEBot.Constant.Meta.html index c82346e3..fb49c864 100644 --- a/docs/class-LINE.LINEBot.Constant.Meta.html +++ b/docs/class-LINE.LINEBot.Constant.Meta.html @@ -125,7 +125,7 @@

Meta

# - '5.0.0' + '5.1.0'
diff --git a/docs/class-LINE.LINEBot.html b/docs/class-LINE.LINEBot.html index ce4fe9cb..551e4640 100644 --- a/docs/class-LINE.LINEBot.html +++ b/docs/class-LINE.LINEBot.html @@ -127,6 +127,38 @@

LINEBot

+ + + + + + + + + + + + public + + + + + + +
+ # + getBotInfo( ) + +
+ Get basic information about bot. + + + + + + + +
@@ -147,7 +179,7 @@

LINEBot

# - getProfile( string $userId ) + getProfile( string $userId )
Gets specified user's profile through API calling. @@ -179,7 +211,7 @@

LINEBot

# - getMessageContent( string $messageId ) + getMessageContent( string $messageId )
Gets message content which is associated with specified message ID. @@ -211,7 +243,7 @@

LINEBot

# - getNumberOfLimitForAdditional( ) + getNumberOfLimitForAdditional( )
Gets the target limit for additional messages in the current month. @@ -243,7 +275,7 @@

LINEBot

# - getNumberOfSentThisMonth( ) + getNumberOfSentThisMonth( )
Gets the number of messages sent in the current month. @@ -275,7 +307,7 @@

LINEBot

# - replyMessage( string $replyToken , LINE\LINEBot\MessageBuilder $messageBuilder ) + replyMessage( string $replyToken , LINE\LINEBot\MessageBuilder $messageBuilder )
Replies arbitrary message to destination which is associated with reply token. @@ -307,7 +339,7 @@

LINEBot

# - replyText( string $replyToken , string $text , string[]|null $extraTexts = NULL ) + replyText( string $replyToken , string $text , string[]|null $extraTexts = NULL )
Replies text message(s) to destination which is associated with reply token. @@ -349,7 +381,7 @@

LINEBot

# - pushMessage( string $to , LINE\LINEBot\MessageBuilder $messageBuilder , bool $notificationDisabled = false, string|null $retryKey = NULL ) + pushMessage( string $to , LINE\LINEBot\MessageBuilder $messageBuilder , bool $notificationDisabled = false, string|null $retryKey = NULL )
Sends arbitrary message to destination. @@ -381,7 +413,7 @@

LINEBot

# - multicast( array $tos , LINE\LINEBot\MessageBuilder $messageBuilder , bool $notificationDisabled = false, string|null $retryKey = NULL ) + multicast( array $tos , LINE\LINEBot\MessageBuilder $messageBuilder , bool $notificationDisabled = false, string|null $retryKey = NULL )
Sends arbitrary message to multi destinations. @@ -413,7 +445,7 @@

LINEBot

# - broadcast( LINE\LINEBot\MessageBuilder $messageBuilder , bool $notificationDisabled = false, string|null $retryKey = NULL ) + broadcast( LINE\LINEBot\MessageBuilder $messageBuilder , bool $notificationDisabled = false, string|null $retryKey = NULL )
Sends push messages to multiple users at any time. @@ -447,7 +479,7 @@

LINEBot

# - leaveGroup( string $groupId ) + leaveGroup( string $groupId )
Leaves from group. @@ -479,7 +511,7 @@

LINEBot

# - leaveRoom( string $roomId ) + leaveRoom( string $roomId )
Leaves from room. @@ -511,7 +543,7 @@

LINEBot

# - parseEventRequest( string $body , string $signature , bool $eventOnly = true ) + parseEventRequest( string $body , string $signature , bool $eventOnly = true )
Parse event request to Event objects. @@ -543,7 +575,7 @@

LINEBot

# - validateSignature( string $body , string $signature ) + validateSignature( string $body , string $signature )
Validate request with signature. @@ -575,7 +607,7 @@

LINEBot

# - getGroupMemberProfile( string $groupId , string $userId ) + getGroupMemberProfile( string $groupId , string $userId )
Gets the user profile of a member of a group that the bot is in. @@ -609,7 +641,7 @@

LINEBot

# - getRoomMemberProfile( string $roomId , string $userId ) + getRoomMemberProfile( string $roomId , string $userId )
Gets the user profile of a member of a room that the bot is in. @@ -643,7 +675,7 @@

LINEBot

# - getGroupMemberIds( string $groupId , string $start = NULL ) + getGroupMemberIds( string $groupId , string $start = NULL )
Gets the user IDs of the members of a group that the bot is in. @@ -679,7 +711,7 @@

LINEBot

# - getRoomMemberIds( string $roomId , string $start = NULL ) + getRoomMemberIds( string $roomId , string $start = NULL )
Gets the user IDs of the members of a room that the bot is in. @@ -715,7 +747,7 @@

LINEBot

# - getAllGroupMemberIds( string $groupId ) + getAllGroupMemberIds( string $groupId )
Gets the user IDs of the members of a group that the bot is in. @@ -756,7 +788,7 @@

see

# - getAllRoomMemberIds( string $roomId ) + getAllRoomMemberIds( string $roomId )
Gets the user IDs of the members of a room that the bot is in. @@ -797,7 +829,7 @@

see

# - getGroupSummary( string $groupId ) + getGroupSummary( string $groupId )
Get group summary @@ -831,7 +863,7 @@

see

# - getGroupMembersCount( string $groupId ) + getGroupMembersCount( string $groupId )
Gets the count of members in a group @@ -865,7 +897,7 @@

see

# - getRoomMembersCount( string $roomId ) + getRoomMembersCount( string $roomId )
Gets the count of members in a room @@ -899,7 +931,7 @@

see

# - createLinkToken( string $userId ) + createLinkToken( string $userId )
Issues a link token used for the account link feature. @@ -931,7 +963,7 @@

see

# - getRichMenu( string $richMenuId ) + getRichMenu( string $richMenuId )
Gets a rich menu via a rich menu ID. @@ -963,7 +995,7 @@

see

# - createRichMenu( \RichMenuBuilder $richMenuBuilder ) + createRichMenu( \RichMenuBuilder $richMenuBuilder )
Creates a rich menu. @@ -997,7 +1029,7 @@

see

# - deleteRichMenu( string $richMenuId ) + deleteRichMenu( string $richMenuId )
Deletes a rich menu. @@ -1029,7 +1061,7 @@

see

# - setDefaultRichMenuId( string $richMenuId ) + setDefaultRichMenuId( string $richMenuId )
Set the default rich menu. @@ -1061,7 +1093,7 @@

see

# - getDefaultRichMenuId( ) + getDefaultRichMenuId( )
Get the default rich menu ID. @@ -1093,7 +1125,7 @@

see

# - cancelDefaultRichMenuId( ) + cancelDefaultRichMenuId( )
Cancel the default rich menu. @@ -1125,7 +1157,7 @@

see

# - getRichMenuId( string $userId ) + getRichMenuId( string $userId )
Gets the ID of the rich menu linked to a user. @@ -1157,7 +1189,7 @@

see

# - linkRichMenu( string $userId , string $richMenuId ) + linkRichMenu( string $userId , string $richMenuId )
Links a rich menu to a user. Only one rich menu can be linked to a user at one time. @@ -1189,7 +1221,7 @@

see

# - bulkLinkRichMenu( string[] $userIds , string $richMenuId ) + bulkLinkRichMenu( string[] $userIds , string $richMenuId )
Links a rich menu to multiple users. @@ -1221,7 +1253,7 @@

see

# - unlinkRichMenu( string $userId ) + unlinkRichMenu( string $userId )
Unlinks a rich menu from multiple user. @@ -1253,7 +1285,7 @@

see

# - bulkUnlinkRichMenu( string[] $userIds ) + bulkUnlinkRichMenu( string[] $userIds )
Unlinks rich menus from multiple users. @@ -1285,7 +1317,7 @@

see

# - downloadRichMenuImage( string $richMenuId ) + downloadRichMenuImage( string $richMenuId )
Downloads an image associated with a rich menu. @@ -1317,7 +1349,7 @@

see

# - uploadRichMenuImage( string $richMenuId , string $imagePath , string $contentType ) + uploadRichMenuImage( string $richMenuId , string $imagePath , string $contentType )
Uploads and attaches an image to a rich menu. @@ -1354,7 +1386,7 @@

see

# - getRichMenuList( ) + getRichMenuList( )
Gets a list of all uploaded rich menus. @@ -1386,7 +1418,7 @@

see

# - getNumberOfSentReplyMessages( DateTime $datetime ) + getNumberOfSentReplyMessages( DateTime $datetime )
Get number of sent reply messages @@ -1418,7 +1450,7 @@

see

# - getNumberOfSentPushMessages( DateTime $datetime ) + getNumberOfSentPushMessages( DateTime $datetime )
Get number of sent push messages @@ -1450,7 +1482,7 @@

see

# - getNumberOfSentMulticastMessages( DateTime $datetime ) + getNumberOfSentMulticastMessages( DateTime $datetime )
Get number of sent multicast messages @@ -1482,7 +1514,7 @@

see

# - getNumberOfSentBroadcastMessages( DateTime $datetime ) + getNumberOfSentBroadcastMessages( DateTime $datetime )
Get number of sent broadcast messages @@ -1514,7 +1546,7 @@

see

# - getNumberOfMessageDeliveries( DateTime $datetime ) + getNumberOfMessageDeliveries( DateTime $datetime )
Get number of message deliveries @@ -1546,7 +1578,7 @@

see

# - getNumberOfFollowers( DateTime $datetime ) + getNumberOfFollowers( DateTime $datetime )
Get number of followers @@ -1578,7 +1610,7 @@

see

# - getFriendDemographics( ) + getFriendDemographics( )
Get friend demographics @@ -1614,7 +1646,7 @@

see

# - getUserInteractionStatistics( string $requestId ) + getUserInteractionStatistics( string $requestId )
Get user interaction statistics @@ -1650,7 +1682,7 @@

see

# - createChannelAccessToken( string $channelId ) + createChannelAccessToken( string $channelId )
Create channel access token @@ -1687,7 +1719,7 @@

see

# - revokeChannelAccessToken( string $channelAccessToken ) + revokeChannelAccessToken( string $channelAccessToken )
Revoke channel access token @@ -1721,7 +1753,7 @@

see

# - createChannelAccessToken21( string $jwt ) + createChannelAccessToken21( string $jwt )
Create channel access token v2.1 @@ -1760,7 +1792,7 @@

see

# - revokeChannelAccessToken21( string $channelId , string $channelSecret , string $channelAccessToken ) + revokeChannelAccessToken21( string $channelId , string $channelSecret , string $channelAccessToken )
Revoke channel access token v2.1 @@ -1792,7 +1824,7 @@

see

# - getChannelAccessToken21Keys( string $jwt ) + getChannelAccessToken21Keys( string $jwt )
Get all valid channel access token key IDs v2.1 @@ -1824,7 +1856,7 @@

see

# - sendNarrowcast( LINE\LINEBot\MessageBuilder $messageBuilder , LINE\LINEBot\Narrowcast\Recipient\RecipientBuilder $recipientBuilder = NULL, LINE\LINEBot\Narrowcast\DemographicFilter\DemographicFilterBuilder $demographicFilterBuilder = NULL, int|null $max = NULL, string|null $retryKey = NULL, $upToRemainingQuota = false ) + sendNarrowcast( LINE\LINEBot\MessageBuilder $messageBuilder , LINE\LINEBot\Narrowcast\Recipient\RecipientBuilder $recipientBuilder = NULL, LINE\LINEBot\Narrowcast\DemographicFilter\DemographicFilterBuilder $demographicFilterBuilder = NULL, int|null $max = NULL, string|null $retryKey = NULL, $upToRemainingQuota = false )
Send Narrowcast message. @@ -1856,7 +1888,7 @@

see

# - getNarrowcastProgress( string $requestId ) + getNarrowcastProgress( string $requestId )
Get Narrowcast message sending progress. @@ -1888,7 +1920,7 @@

see

# - createAudienceGroupForUploadingUserIds( string $description , array $audiences = array ( ), bool $isIfaAudience = false, string|null $uploadDescription = NULL ) + createAudienceGroupForUploadingUserIds( string $description , array $audiences = array ( ), bool $isIfaAudience = false, string|null $uploadDescription = NULL )
Create audience for uploading user IDs @@ -1920,7 +1952,7 @@

see

# - createAudienceGroupForUploadingUserIdsByFile( string $description , string $filePath , bool $isIfaAudience = false, string|null $uploadDescription = NULL ) + createAudienceGroupForUploadingUserIdsByFile( string $description , string $filePath , bool $isIfaAudience = false, string|null $uploadDescription = NULL )
Create audience for uploading user IDs (by file) @@ -1952,7 +1984,7 @@

see

# - updateAudienceGroupForUploadingUserIds( int $audienceGroupId , array $audiences , string|null $uploadDescription = NULL ) + updateAudienceGroupForUploadingUserIds( int $audienceGroupId , array $audiences , string|null $uploadDescription = NULL )
Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs @@ -1984,7 +2016,7 @@

see

# - updateAudienceGroupForUploadingUserIdsByFile( int $audienceGroupId , string $filePath , string|null $uploadDescription = NULL ) + updateAudienceGroupForUploadingUserIdsByFile( int $audienceGroupId , string $filePath , string|null $uploadDescription = NULL )
Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file) @@ -2016,7 +2048,7 @@

see

# - createAudienceGroupForClick( string $description , string $requestId , string|null $clickUrl = NULL ) + createAudienceGroupForClick( string $description , string $requestId , string|null $clickUrl = NULL )
Create audience for click-based retargeting @@ -2048,7 +2080,7 @@

see

# - createAudienceGroupForImpression( string $description , string $requestId ) + createAudienceGroupForImpression( string $description , string $requestId )
Create audience for impression-based retargeting @@ -2080,7 +2112,7 @@

see

# - renameAudience( int $audienceGroupId , string $description ) + renameAudience( int $audienceGroupId , string $description )
Rename an audience @@ -2112,7 +2144,7 @@

see

# - deleteAudience( int $audienceGroupId ) + deleteAudience( int $audienceGroupId )
Delete audience @@ -2144,7 +2176,7 @@

see

# - getAudience( int $audienceGroupId ) + getAudience( int $audienceGroupId )
Get audience @@ -2176,7 +2208,7 @@

see

# - getAudiences( int $page , int $size = 20, string|null $description = NULL, string|null $status = NULL, bool|null $includesExternalPublicGroups = NULL, string|null $createRoute = NULL ) + getAudiences( int $page , int $size = 20, string|null $description = NULL, string|null $status = NULL, bool|null $includesExternalPublicGroups = NULL, string|null $createRoute = NULL )
Get data for multiple audiences @@ -2208,7 +2240,7 @@

see

# - getAuthorityLevel( ) + getAuthorityLevel( )
Get the authority level of the audience @@ -2240,7 +2272,7 @@

see

# - updateAuthorityLevel( string $authorityLevel ) + updateAuthorityLevel( string $authorityLevel )
Change the authority level of the audience @@ -2252,6 +2284,102 @@

see

+
+
+ + + + + + + + + + public + + + + + + +
+ # + getWebhookEndpointInfo( ) + +
+ Get webhook endpoint information + + + + + + + + +
+
+ + + + + + + + + + public + + + + + + +
+ # + setWebhookEndpoint( string $endpoint ) + +
+ Set webhook endpoint URL + + + + + + + + +
+
+ + + + + + + + + + public + + + + + + +
+ # + testWebhookEndpoint( string $endpoint ) + +
+ Checks if the configured webhook endpoint can receive a test webhook event + + + + + + + +
diff --git a/docs/class-LINE.Laravel.Facade.LINEBot.html b/docs/class-LINE.Laravel.Facade.LINEBot.html new file mode 100644 index 00000000..589a9b01 --- /dev/null +++ b/docs/class-LINE.Laravel.Facade.LINEBot.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + Class LINE\Laravel\Facade\LINEBot + + + + + + + +
+
+
+

LINEBot

+ + +
+
+ extends + + Illuminate\Support\Facades\Facade + + + +
+
+ + + +
+ + + Open source code +
+
+ + + + + + + + + + + + +
Methods Summary
+ + public static + + + + +
+ # + getFacadeAccessor( ) + +
+ + + + + + + + +

Overrides

+ + +
+
+
+ + + + + + + + +
+ Methods inherited from Illuminate\Support\Facades\Facade +
+ spy(), + shouldReceive(), + createFreshMockInstance(), + createMock(), + isMock(), + getMockableClass(), + swap(), + getFacadeRoot(), + getFacadeAccessor(), + resolveFacadeInstance(), + clearResolvedInstance(), + clearResolvedInstances(), + getFacadeApplication(), + setFacadeApplication(), + __callStatic() +
+ + + + + + + + + + + + +
+ Properties inherited from Illuminate\Support\Facades\Facade +
+ $app, + $resolvedInstance +
+ + +
+
+
+ + + + + + + + + + diff --git a/docs/class-LINE.Laravel.LINEBotServiceProvider.html b/docs/class-LINE.Laravel.LINEBotServiceProvider.html new file mode 100644 index 00000000..c1ee1f7e --- /dev/null +++ b/docs/class-LINE.Laravel.LINEBotServiceProvider.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + Class LINE\Laravel\LINEBotServiceProvider + + + + + + + +
+
+
+

LINEBotServiceProvider

+ + +
+
+ extends + + Illuminate\Support\ServiceProvider + + + +
+
+ + + +
+ + + Open source code +
+
+ + + + + + + + + + + + +
Methods Summary
+ + public + + + + +
+ # + register( ) + +
+ Register bindings in the container. + + + + + + + + +
+
+
+ + + + + + + + +
+ Methods inherited from Illuminate\Support\ServiceProvider +
+ __construct(), + mergeConfigFrom(), + loadRoutesFrom(), + loadViewsFrom(), + loadTranslationsFrom(), + loadJsonTranslationsFrom(), + loadMigrationsFrom(), + publishes(), + ensurePublishArrayInitialized(), + addPublishGroup(), + pathsToPublish(), + pathsForProviderOrGroup(), + pathsForProviderAndGroup(), + publishableProviders(), + publishableGroups(), + commands(), + provides(), + when(), + isDeferred() +
+ + + + + + + + + + + + +
+ Properties inherited from Illuminate\Support\ServiceProvider +
+ $app, + $defer, + $publishes, + $publishGroups +
+ + +
+
+
+ + + + + + + + + + diff --git a/docs/classes.html b/docs/classes.html index 4b9ed124..0e10dc55 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -60,172 +60,172 @@

Classes

@@ -235,92 +235,107 @@

Classes

+ + + + + + + + + @@ -330,352 +345,357 @@

Classes

+ + + @@ -685,32 +705,32 @@

Classes

- LINE\LINEBot\TemplateActionBuilder\CameraRollTemplateActionBuilder + LINE\LINEBot
- LINE\LINEBot\TemplateActionBuilder\CameraTemplateActionBuilder + Illuminate\Support\ServiceProvider
- LINE\LINEBot\TemplateActionBuilder\LocationTemplateActionBuilder + LINE\LINEBot\Response
- LINE\LINEBot\QuickReplyBuilder\ButtonBuilder\QuickReplyButtonBuilder + LINE\LINEBot\SignatureValidator
- LINE\LINEBot\QuickReplyBuilder\QuickReplyMessageBuilder + LINE\LINEBot\RichMenuBuilder
- LINE\LINEBot\Narrowcast\DemographicFilter\AgeDemographicFilterBuilder + LINE\Laravel\LINEBotServiceProvider
- LINE\LINEBot\Narrowcast\DemographicFilter\SubscriptionPeriodDemographicFilterBuilder + Illuminate\Support\Facades\Facade
- LINE\LINEBot\Narrowcast\DemographicFilter\AppTypeDemographicFilterBuilder + LINE\LINEBot\Constant\ActionType
- LINE\LINEBot\Narrowcast\DemographicFilter\AreaDemographicFilterBuilder + LINE\LINEBot\Constant\EventSourceType
- LINE\LINEBot\Narrowcast\DemographicFilter\GenderDemographicFilterBuilder + LINE\LINEBot\Constant\HTTPHeader
- LINE\LINEBot\Narrowcast\DemographicFilter\DemographicFilterBuilder + LINE\LINEBot\Constant\MessageContentProviderType
- LINE\LINEBot\Narrowcast\Recipient\RecipientBuilder + LINE\LINEBot\Constant\MessageType
- LINE\LINEBot\Narrowcast\Recipient\AudienceRecipientBuilder + LINE\LINEBot\Constant\Meta
- LINE\LINEBot\Narrowcast\Recipient\RedeliveryRecipientBuilder + LINE\LINEBot\Constant\StickerResourceType
- LINE\LINEBot\Narrowcast\DemographicFilter\OneOfDemographicFilter + LINE\LINEBot\Constant\TemplateType
- LINE\LINEBot\SenderBuilder\SenderMessageBuilder + LINE\LINEBot\Event\BeaconDetectionEvent
- LINE\LINEBot\Narrowcast\DemographicFilter\RangeDemographicFilterBuilder + LINE\LINEBot\Event\FollowEvent
- LINE\LINEBot\Narrowcast\DemographicFilter\OperatorDemographicFilterBuilder + LINE\LINEBot\Event\JoinEvent
- LINE\LINEBot\Narrowcast\Recipient\OperatorRecipientBuilder + LINE\LINEBot\Event\LeaveEvent
- LINE\LINEBot\Constant\Meta + LINE\LINEBot\Event\MemberJoinEvent
- LINE\LINEBot\Constant\HTTPHeader + LINE\LINEBot\Event\MemberLeaveEvent
- LINE\LINEBot\Constant\EventSourceType + LINE\LINEBot\Event\PostbackEvent
- LINE\LINEBot\Constant\TemplateType + LINE\LINEBot\Event\UnfollowEvent
- LINE\LINEBot\Constant\ActionType + LINE\LINEBot\Event\MessageEvent
- LINE\LINEBot\Constant\MessageType + LINE\LINEBot\Event\UnknownEvent
- LINE\LINEBot\Event\FollowEvent + LINE\LINEBot\Event\UnsendEvent
- LINE\LINEBot\Event\JoinEvent + LINE\LINEBot\Event\VideoPlayCompleteEvent
- LINE\LINEBot\Event\LeaveEvent + LINE\LINEBot\Event\AccountLinkEvent
- LINE\LINEBot\Event\UnfollowEvent + LINE\LINEBot\Event\ThingsEvent
- LINE\LINEBot\SignatureValidator + LINE\LINEBot\Event\BaseEvent
- LINE\LINEBot\Event\MessageEvent\ImageMessage + LINE\LINEBot\HTTPClient\Curl
- LINE\LINEBot\MessageBuilder\MultiMessageBuilder + LINE\LINEBot\HTTPClient\CurlHTTPClient
- LINE\LINEBot\MessageBuilder\Imagemap\BaseSizeBuilder + LINE\LINEBot\ImagemapActionBuilder\AreaBuilder
- LINE\LINEBot\Event\PostbackEvent + LINE\LINEBot\ImagemapActionBuilder\ImagemapMessageActionBuilder
- LINE\LINEBot\Event\MessageEvent\FileMessage + LINE\LINEBot\MessageBuilder\MultiMessageBuilder
- LINE\LINEBot\ImagemapActionBuilder\ImagemapMessageActionBuilder + LINE\LINEBot\MessageBuilder\RawMessageBuilder
- LINE\LINEBot\TemplateActionBuilder\MessageTemplateActionBuilder + LINE\LINEBot\MessageBuilder\AudioMessageBuilder
- LINE\LINEBot\Event\MessageEvent\AudioMessage + LINE\LINEBot\MessageBuilder\ImageMessageBuilder
- LINE\LINEBot\Event\MessageEvent\VideoMessage + LINE\LINEBot\MessageBuilder\LocationMessageBuilder
- LINE\LINEBot\Event\MessageEvent + LINE\LINEBot\MessageBuilder\StickerMessageBuilder
- LINE\LINEBot\Event\BeaconDetectionEvent + LINE\LINEBot\MessageBuilder\TemplateMessageBuilder
- LINE\LINEBot\ImagemapActionBuilder\AreaBuilder + LINE\LINEBot\MessageBuilder\VideoMessageBuilder
- LINE\LINEBot\RichMenuBuilder\RichMenuAreaBoundsBuilder + LINE\LINEBot\MessageBuilder\TextMessageBuilder
- LINE\LINEBot\Event\MessageEvent\StickerMessage + LINE\LINEBot\MessageBuilder\FlexMessageBuilder
- LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselColumnTemplateBuilder + LINE\LINEBot\MessageBuilder\ImagemapMessageBuilder
- LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselTemplateBuilder + LINE\LINEBot\QuickReplyBuilder\QuickReplyMessageBuilder
- LINE\LINEBot\Event\MessageEvent\TextMessage + LINE\LINEBot\RichMenuBuilder\RichMenuAreaBoundsBuilder
- LINE\LINEBot\TemplateActionBuilder\PostbackTemplateActionBuilder + LINE\LINEBot\RichMenuBuilder\RichMenuSizeBuilder
- LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder + LINE\LINEBot\RichMenuBuilder\RichMenuAreaBuilder
- LINE\LINEBot\MessageBuilder\TemplateBuilder\ConfirmTemplateBuilder + LINE\LINEBot\SenderBuilder\SenderMessageBuilder
- LINE\LINEBot\Event\MessageEvent\LocationMessage + LINE\LINEBot\TemplateActionBuilder\CameraRollTemplateActionBuilder
- LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselTemplateBuilder + LINE\LINEBot\TemplateActionBuilder\CameraTemplateActionBuilder +
+ LINE\LINEBot\TemplateActionBuilder\LocationTemplateActionBuilder +
+ LINE\LINEBot\TemplateActionBuilder\MessageTemplateActionBuilder +
+ LINE\LINEBot\TemplateActionBuilder\PostbackTemplateActionBuilder
- LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselColumnTemplateBuilder + LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder
- LINE\LINEBot\HTTPClient\Curl + LINE\LINEBot\Util\BuildUtil
- LINE\LINEBot\MessageBuilder\AudioMessageBuilder + LINE\Laravel\Facade\LINEBot
- LINE\LINEBot\MessageBuilder\ImageMessageBuilder + LINE\LINEBot\Constant\Flex\BubleContainerSize
- LINE\LINEBot\MessageBuilder\StickerMessageBuilder + LINE\LINEBot\Constant\Flex\ComponentAlign
- LINE\LINEBot\MessageBuilder\VideoMessageBuilder + LINE\LINEBot\Constant\Flex\ComponentBorderWidth
- LINE\LINEBot\MessageBuilder\TemplateMessageBuilder + LINE\LINEBot\Constant\Flex\ComponentButtonHeight
- LINE\LINEBot\MessageBuilder\LocationMessageBuilder + LINE\LINEBot\Constant\Flex\ComponentButtonStyle
- LINE\LINEBot\Response + LINE\LINEBot\Constant\Flex\ComponentFontSize
- LINE\LINEBot\MessageBuilder\TextMessageBuilder + LINE\LINEBot\Constant\Flex\ComponentFontWeight
- LINE\LINEBot\Event\Parser\EventRequestParser + LINE\LINEBot\Constant\Flex\ComponentGravity
- LINE\LINEBot\MessageBuilder\ImagemapMessageBuilder + LINE\LINEBot\Constant\Flex\ComponentIconAspectRatio
- LINE\LINEBot\Event\BaseEvent + LINE\LINEBot\Constant\Flex\ComponentIconSize
- LINE\LINEBot\HTTPClient\CurlHTTPClient + LINE\LINEBot\Constant\Flex\ComponentImageAspectMode
- LINE\LINEBot + LINE\LINEBot\Constant\Flex\ComponentImageAspectRatio
- LINE\LINEBot\Event\UnknownEvent + LINE\LINEBot\Constant\Flex\ComponentImageSize
- LINE\LINEBot\Event\MessageEvent\UnknownMessage + LINE\LINEBot\Constant\Flex\ComponentLayout
- LINE\LINEBot\RichMenuBuilder\RichMenuAreaBuilder + LINE\LINEBot\Constant\Flex\ComponentMargin
- LINE\LINEBot\RichMenuBuilder\RichMenuSizeBuilder + LINE\LINEBot\Constant\Flex\ComponentPosition
- LINE\LINEBot\Constant\Flex\ComponentButtonHeight + LINE\LINEBot\Constant\Flex\ComponentSpaceSize
- LINE\LINEBot\Constant\Flex\ComponentFontWeight + LINE\LINEBot\Constant\Flex\ComponentSpacing
- LINE\LINEBot\Constant\Flex\ComponentImageAspectMode + LINE\LINEBot\Constant\Flex\ComponentTextDecoration
- LINE\LINEBot\Constant\Flex\ContainerDirection + LINE\LINEBot\Constant\Flex\ComponentTextStyle
- LINE\LINEBot\Constant\Flex\ContainerType + LINE\LINEBot\Constant\Flex\ComponentType
- LINE\LINEBot\Constant\Flex\ComponentAlign + LINE\LINEBot\Constant\Flex\ContainerDirection
- LINE\LINEBot\Constant\Flex\ComponentButtonStyle + LINE\LINEBot\Constant\Flex\ContainerType
- LINE\LINEBot\Constant\Flex\ComponentGravity + LINE\LINEBot\Event\MessageEvent\EmojiInfo
- LINE\LINEBot\Constant\Flex\ComponentIconAspectRatio + LINE\LINEBot\Event\MessageEvent\ContentProvider
- LINE\LINEBot\Constant\Flex\ComponentLayout + LINE\LINEBot\Event\MessageEvent\AudioMessage
- LINE\LINEBot\Constant\Flex\ComponentSpaceSize + LINE\LINEBot\Event\MessageEvent\FileMessage
- LINE\LINEBot\Constant\Flex\ComponentMargin + LINE\LINEBot\Event\MessageEvent\ImageMessage
- LINE\LINEBot\Constant\Flex\ComponentSpacing + LINE\LINEBot\Event\MessageEvent\LocationMessage
- LINE\LINEBot\Constant\Flex\ComponentType + LINE\LINEBot\Event\MessageEvent\StickerMessage
- LINE\LINEBot\Constant\Flex\ComponentFontSize + LINE\LINEBot\Event\MessageEvent\TextMessage
- LINE\LINEBot\Constant\Flex\ComponentIconSize + LINE\LINEBot\Event\MessageEvent\UnknownMessage
- LINE\LINEBot\Constant\Flex\ComponentImageSize + LINE\LINEBot\Event\MessageEvent\VideoMessage
- LINE\LINEBot\Constant\Flex\ComponentImageAspectRatio + LINE\LINEBot\Event\Parser\EventRequestParser
- LINE\LINEBot\MessageBuilder\RawMessageBuilder + LINE\LINEBot\Event\Things\ThingsResult
- LINE\LINEBot\Util\BuildUtil + LINE\LINEBot\Event\Things\ThingsResultAction
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\FillerComponentBuilder + LINE\LINEBot\MessageBuilder\Flex\BlockStyleBuilder
- LINE\LINEBot\RichMenuBuilder + LINE\LINEBot\MessageBuilder\Flex\BubbleStylesBuilder
- LINE\LINEBot\Event\AccountLinkEvent + LINE\LINEBot\MessageBuilder\Imagemap\BaseSizeBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\SpacerComponentBuilder + LINE\LINEBot\MessageBuilder\Imagemap\ExternalLinkBuilder
- LINE\LINEBot\MessageBuilder\Flex\ContainerBuilder\CarouselContainerBuilder + LINE\LINEBot\MessageBuilder\Imagemap\VideoBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\SeparatorComponentBuilder + LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselTemplateBuilder
- LINE\LINEBot\MessageBuilder\Flex\BlockStyleBuilder + LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselTemplateBuilder
- LINE\LINEBot\MessageBuilder\Flex\BubbleStylesBuilder + LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselColumnTemplateBuilder
- LINE\LINEBot\MessageBuilder\FlexMessageBuilder + LINE\LINEBot\MessageBuilder\TemplateBuilder\ImageCarouselColumnTemplateBuilder
- LINE\LINEBot\MessageBuilder\Flex\ContainerBuilder\BubbleContainerBuilder + LINE\LINEBot\MessageBuilder\TemplateBuilder\ConfirmTemplateBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\IconComponentBuilder + LINE\LINEBot\MessageBuilder\TemplateBuilder\ButtonTemplateBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\ButtonComponentBuilder + LINE\LINEBot\MessageBuilder\Text\EmojiBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\ImageComponentBuilder + LINE\LINEBot\MessageBuilder\Text\EmojiTextBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\TextComponentBuilder + LINE\LINEBot\Narrowcast\DemographicFilter\OperatorDemographicFilterBuilder
- LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\BoxComponentBuilder + LINE\LINEBot\Narrowcast\DemographicFilter\AppTypeDemographicFilterBuilder
- LINE\LINEBot\Constant\MessageContentProviderType + LINE\LINEBot\Narrowcast\DemographicFilter\AreaDemographicFilterBuilder
- LINE\LINEBot\Constant\Flex\ComponentPosition + LINE\LINEBot\Narrowcast\DemographicFilter\GenderDemographicFilterBuilder
- LINE\LINEBot\Constant\Flex\ComponentTextStyle + LINE\LINEBot\Narrowcast\DemographicFilter\AgeDemographicFilterBuilder
- LINE\LINEBot\Constant\Flex\ComponentTextDecoration + LINE\LINEBot\Narrowcast\DemographicFilter\SubscriptionPeriodDemographicFilterBuilder
- LINE\LINEBot\Constant\Flex\BubleContainerSize + LINE\LINEBot\Narrowcast\DemographicFilter\DemographicFilterBuilder
- LINE\LINEBot\Constant\Flex\ComponentBorderWidth + LINE\LINEBot\Narrowcast\DemographicFilter\OneOfDemographicFilter
- LINE\LINEBot\Constant\StickerResourceType + LINE\LINEBot\Narrowcast\DemographicFilter\RangeDemographicFilterBuilder
- LINE\LINEBot\Event\MemberJoinEvent + LINE\LINEBot\Narrowcast\Recipient\AudienceRecipientBuilder
- LINE\LINEBot\Event\MemberLeaveEvent + LINE\LINEBot\Narrowcast\Recipient\OperatorRecipientBuilder
- LINE\LINEBot\TemplateActionBuilder\Uri\AltUriBuilder + LINE\LINEBot\Narrowcast\Recipient\RedeliveryRecipientBuilder
- LINE\LINEBot\MessageBuilder\Imagemap\ExternalLinkBuilder + LINE\LINEBot\Narrowcast\Recipient\RecipientBuilder
- LINE\LINEBot\Event\Things\ThingsResultAction + LINE\LINEBot\QuickReplyBuilder\ButtonBuilder\QuickReplyButtonBuilder
- LINE\LINEBot\MessageBuilder\Imagemap\VideoBuilder + LINE\LINEBot\TemplateActionBuilder\Uri\AltUriBuilder
- LINE\LINEBot\Event\ThingsEvent + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\FillerComponentBuilder
- LINE\LINEBot\Event\MessageEvent\ContentProvider + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\SeparatorComponentBuilder
- LINE\LINEBot\Event\Things\ThingsResult + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\SpacerComponentBuilder +
+ LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\IconComponentBuilder
- LINE\LINEBot\Event\UnsendEvent + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\ButtonComponentBuilder
- LINE\LINEBot\Event\VideoPlayCompleteEvent + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\BoxComponentBuilder
- LINE\LINEBot\MessageBuilder\Text\EmojiBuilder + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\ImageComponentBuilder
- LINE\LINEBot\MessageBuilder\Text\EmojiTextBuilder + LINE\LINEBot\MessageBuilder\Flex\ComponentBuilder\TextComponentBuilder
- LINE\LINEBot\Event\MessageEvent\EmojiInfo + LINE\LINEBot\MessageBuilder\Flex\ContainerBuilder\CarouselContainerBuilder
- LINE\LINEBot\MessageBuilder\TemplateBuilder\ButtonTemplateBuilder + LINE\LINEBot\MessageBuilder\Flex\ContainerBuilder\BubbleContainerBuilder
diff --git a/docs/elementlist.js b/docs/elementlist.js index f59eaec1..31056f7c 100644 --- a/docs/elementlist.js +++ b/docs/elementlist.js @@ -1,2 +1,2 @@ var ApiGen = ApiGen || {}; -ApiGen.elements = [{"file":"namespace-LINE.html","label":"LINE"},{"file":"namespace-LINE.LINEBot.html","label":"LINE\\LINEBot"},{"file":"namespace-LINE.LINEBot.Constant.html","label":"LINE\\LINEBot\\Constant"},{"file":"namespace-LINE.LINEBot.Constant.Flex.html","label":"LINE\\LINEBot\\Constant\\Flex"},{"file":"namespace-LINE.LINEBot.Event.html","label":"LINE\\LINEBot\\Event"},{"file":"namespace-LINE.LINEBot.Event.MessageEvent.html","label":"LINE\\LINEBot\\Event\\MessageEvent"},{"file":"namespace-LINE.LINEBot.Event.Parser.html","label":"LINE\\LINEBot\\Event\\Parser"},{"file":"namespace-LINE.LINEBot.Event.Things.html","label":"LINE\\LINEBot\\Event\\Things"},{"file":"namespace-LINE.LINEBot.Exception.html","label":"LINE\\LINEBot\\Exception"},{"file":"namespace-LINE.LINEBot.HTTPClient.html","label":"LINE\\LINEBot\\HTTPClient"},{"file":"namespace-LINE.LINEBot.ImagemapActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Flex.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Imagemap.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap"},{"file":"namespace-LINE.LINEBot.MessageBuilder.TemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Text.html","label":"LINE\\LINEBot\\MessageBuilder\\Text"},{"file":"namespace-LINE.LINEBot.Narrowcast.DemographicFilter.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter"},{"file":"namespace-LINE.LINEBot.Narrowcast.Recipient.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient"},{"file":"namespace-LINE.LINEBot.QuickReplyBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder"},{"file":"namespace-LINE.LINEBot.QuickReplyBuilder.ButtonBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\ButtonBuilder"},{"file":"namespace-LINE.LINEBot.RichMenuBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder"},{"file":"namespace-LINE.LINEBot.SenderBuilder.html","label":"LINE\\LINEBot\\SenderBuilder"},{"file":"namespace-LINE.LINEBot.TemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder"},{"file":"namespace-LINE.LINEBot.TemplateActionBuilder.Uri.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\Uri"},{"file":"namespace-LINE.LINEBot.Util.html","label":"LINE\\LINEBot\\Util"},{"file":"namespace-none.html","label":"none"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.CameraRollTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\CameraRollTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.CameraTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\CameraTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.LocationTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\LocationTemplateActionBuilder"},{"file":"class-LINE.LINEBot.QuickReplyBuilder.ButtonBuilder.QuickReplyButtonBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\ButtonBuilder\\QuickReplyButtonBuilder"},{"file":"class-LINE.LINEBot.QuickReplyBuilder.QuickReplyMessageBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\QuickReplyMessageBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.AgeDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\AgeDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.SubscriptionPeriodDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\SubscriptionPeriodDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.AppTypeDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\AppTypeDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.AreaDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\AreaDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.GenderDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\GenderDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.DemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\DemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.RecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\RecipientBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.AudienceRecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\AudienceRecipientBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.RedeliveryRecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\RedeliveryRecipientBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.OneOfDemographicFilter.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\OneOfDemographicFilter"},{"file":"class-LINE.LINEBot.SenderBuilder.SenderMessageBuilder.html","label":"LINE\\LINEBot\\SenderBuilder\\SenderMessageBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.RangeDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\RangeDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.OperatorDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\OperatorDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.OperatorRecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\OperatorRecipientBuilder"},{"file":"class-LINE.LINEBot.Constant.Meta.html","label":"LINE\\LINEBot\\Constant\\Meta"},{"file":"class-LINE.LINEBot.Constant.HTTPHeader.html","label":"LINE\\LINEBot\\Constant\\HTTPHeader"},{"file":"class-LINE.LINEBot.Constant.EventSourceType.html","label":"LINE\\LINEBot\\Constant\\EventSourceType"},{"file":"class-LINE.LINEBot.Constant.TemplateType.html","label":"LINE\\LINEBot\\Constant\\TemplateType"},{"file":"class-LINE.LINEBot.Constant.ActionType.html","label":"LINE\\LINEBot\\Constant\\ActionType"},{"file":"class-LINE.LINEBot.Constant.MessageType.html","label":"LINE\\LINEBot\\Constant\\MessageType"},{"file":"class-LINE.LINEBot.Event.FollowEvent.html","label":"LINE\\LINEBot\\Event\\FollowEvent"},{"file":"class-LINE.LINEBot.Event.JoinEvent.html","label":"LINE\\LINEBot\\Event\\JoinEvent"},{"file":"class-LINE.LINEBot.Event.LeaveEvent.html","label":"LINE\\LINEBot\\Event\\LeaveEvent"},{"file":"class-LINE.LINEBot.Event.UnfollowEvent.html","label":"LINE\\LINEBot\\Event\\UnfollowEvent"},{"file":"class-LINE.LINEBot.SignatureValidator.html","label":"LINE\\LINEBot\\SignatureValidator"},{"file":"class-LINE.LINEBot.Event.MessageEvent.ImageMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\ImageMessage"},{"file":"class-LINE.LINEBot.MessageBuilder.MultiMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\MultiMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Imagemap.BaseSizeBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap\\BaseSizeBuilder"},{"file":"class-LINE.LINEBot.Event.PostbackEvent.html","label":"LINE\\LINEBot\\Event\\PostbackEvent"},{"file":"class-LINE.LINEBot.ImagemapActionBuilder.ImagemapUriActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder\\ImagemapUriActionBuilder"},{"file":"class-LINE.LINEBot.Event.MessageEvent.FileMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\FileMessage"},{"file":"class-LINE.LINEBot.ImagemapActionBuilder.ImagemapMessageActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder\\ImagemapMessageActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.MessageTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\MessageTemplateActionBuilder"},{"file":"class-LINE.LINEBot.Event.MessageEvent.AudioMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\AudioMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.VideoMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\VideoMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.html","label":"LINE\\LINEBot\\Event\\MessageEvent"},{"file":"class-LINE.LINEBot.Event.BeaconDetectionEvent.html","label":"LINE\\LINEBot\\Event\\BeaconDetectionEvent"},{"file":"class-LINE.LINEBot.ImagemapActionBuilder.AreaBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder\\AreaBuilder"},{"file":"class-LINE.LINEBot.RichMenuBuilder.RichMenuAreaBoundsBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder\\RichMenuAreaBoundsBuilder"},{"file":"class-LINE.LINEBot.Event.MessageEvent.StickerMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\StickerMessage"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ImageCarouselColumnTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ImageCarouselColumnTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ImageCarouselTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ImageCarouselTemplateBuilder"},{"file":"class-LINE.LINEBot.Event.MessageEvent.TextMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\TextMessage"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.PostbackTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\PostbackTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.UriTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\UriTemplateActionBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ConfirmTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ConfirmTemplateBuilder"},{"file":"class-LINE.LINEBot.Event.MessageEvent.LocationMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\LocationMessage"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.CarouselTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\CarouselTemplateBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.DatetimePickerTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\DatetimePickerTemplateActionBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.CarouselColumnTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\CarouselColumnTemplateBuilder"},{"file":"class-LINE.LINEBot.HTTPClient.Curl.html","label":"LINE\\LINEBot\\HTTPClient\\Curl"},{"file":"class-LINE.LINEBot.MessageBuilder.AudioMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\AudioMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.ImageMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\ImageMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.StickerMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\StickerMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.VideoMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\VideoMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.LocationMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\LocationMessageBuilder"},{"file":"class-LINE.LINEBot.Response.html","label":"LINE\\LINEBot\\Response"},{"file":"class-LINE.LINEBot.MessageBuilder.TextMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TextMessageBuilder"},{"file":"class-LINE.LINEBot.Event.Parser.EventRequestParser.html","label":"LINE\\LINEBot\\Event\\Parser\\EventRequestParser"},{"file":"class-LINE.LINEBot.MessageBuilder.ImagemapMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\ImagemapMessageBuilder"},{"file":"class-LINE.LINEBot.Event.BaseEvent.html","label":"LINE\\LINEBot\\Event\\BaseEvent"},{"file":"class-LINE.LINEBot.HTTPClient.CurlHTTPClient.html","label":"LINE\\LINEBot\\HTTPClient\\CurlHTTPClient"},{"file":"class-LINE.LINEBot.html","label":"LINE\\LINEBot"},{"file":"class-LINE.LINEBot.Event.UnknownEvent.html","label":"LINE\\LINEBot\\Event\\UnknownEvent"},{"file":"class-LINE.LINEBot.Event.MessageEvent.UnknownMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\UnknownMessage"},{"file":"class-LINE.LINEBot.RichMenuBuilder.RichMenuAreaBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder\\RichMenuAreaBuilder"},{"file":"class-LINE.LINEBot.RichMenuBuilder.RichMenuSizeBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder\\RichMenuSizeBuilder"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentButtonHeight.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentButtonHeight"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentFontWeight.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentFontWeight"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentImageAspectMode.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentImageAspectMode"},{"file":"class-LINE.LINEBot.Constant.Flex.ContainerDirection.html","label":"LINE\\LINEBot\\Constant\\Flex\\ContainerDirection"},{"file":"class-LINE.LINEBot.Constant.Flex.ContainerType.html","label":"LINE\\LINEBot\\Constant\\Flex\\ContainerType"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentAlign.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentAlign"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentButtonStyle.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentButtonStyle"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentGravity.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentGravity"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentIconAspectRatio.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentIconAspectRatio"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentLayout.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentLayout"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentSpaceSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentSpaceSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentMargin.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentMargin"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentSpacing.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentSpacing"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentType.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentType"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentFontSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentFontSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentIconSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentIconSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentImageSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentImageSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentImageAspectRatio.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentImageAspectRatio"},{"file":"class-LINE.LINEBot.MessageBuilder.RawMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\RawMessageBuilder"},{"file":"class-LINE.LINEBot.Util.BuildUtil.html","label":"LINE\\LINEBot\\Util\\BuildUtil"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.FillerComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\FillerComponentBuilder"},{"file":"class-LINE.LINEBot.RichMenuBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder"},{"file":"class-LINE.LINEBot.Event.AccountLinkEvent.html","label":"LINE\\LINEBot\\Event\\AccountLinkEvent"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.SpacerComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\SpacerComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.CarouselContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder\\CarouselContainerBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.SeparatorComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\SeparatorComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.BlockStyleBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\BlockStyleBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.BubbleStylesBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\BubbleStylesBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.FlexMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\FlexMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.BubbleContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder\\BubbleContainerBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.IconComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\IconComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.ButtonComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\ButtonComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.ImageComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\ImageComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.TextComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\TextComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.BoxComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\BoxComponentBuilder"},{"file":"class-LINE.LINEBot.Constant.MessageContentProviderType.html","label":"LINE\\LINEBot\\Constant\\MessageContentProviderType"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentPosition.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentPosition"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentTextStyle.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentTextStyle"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentTextDecoration.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentTextDecoration"},{"file":"class-LINE.LINEBot.Constant.Flex.BubleContainerSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\BubleContainerSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentBorderWidth.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentBorderWidth"},{"file":"class-LINE.LINEBot.Constant.StickerResourceType.html","label":"LINE\\LINEBot\\Constant\\StickerResourceType"},{"file":"class-LINE.LINEBot.Event.MemberJoinEvent.html","label":"LINE\\LINEBot\\Event\\MemberJoinEvent"},{"file":"class-LINE.LINEBot.Event.MemberLeaveEvent.html","label":"LINE\\LINEBot\\Event\\MemberLeaveEvent"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.Uri.AltUriBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\Uri\\AltUriBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Imagemap.ExternalLinkBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap\\ExternalLinkBuilder"},{"file":"class-LINE.LINEBot.Event.Things.ThingsResultAction.html","label":"LINE\\LINEBot\\Event\\Things\\ThingsResultAction"},{"file":"class-LINE.LINEBot.MessageBuilder.Imagemap.VideoBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap\\VideoBuilder"},{"file":"class-LINE.LINEBot.Event.ThingsEvent.html","label":"LINE\\LINEBot\\Event\\ThingsEvent"},{"file":"class-LINE.LINEBot.Event.MessageEvent.ContentProvider.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\ContentProvider"},{"file":"class-LINE.LINEBot.Event.Things.ThingsResult.html","label":"LINE\\LINEBot\\Event\\Things\\ThingsResult"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.SpanComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\SpanComponentBuilder"},{"file":"class-LINE.LINEBot.Event.UnsendEvent.html","label":"LINE\\LINEBot\\Event\\UnsendEvent"},{"file":"class-LINE.LINEBot.Event.VideoPlayCompleteEvent.html","label":"LINE\\LINEBot\\Event\\VideoPlayCompleteEvent"},{"file":"class-LINE.LINEBot.MessageBuilder.Text.EmojiBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Text\\EmojiBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Text.EmojiTextBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Text\\EmojiTextBuilder"},{"file":"class-LINE.LINEBot.Event.MessageEvent.EmojiInfo.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\EmojiInfo"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ButtonTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ButtonTemplateBuilder"},{"file":"interface-Throwable.html","label":"Throwable"},{"file":"interface-LINE.LINEBot.QuickReplyBuilder.QuickReplyButtonBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\QuickReplyButtonBuilder"},{"file":"interface-LINE.LINEBot.QuickReplyBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder"},{"file":"interface-LINE.LINEBot.SenderBuilder.SenderBuilder.html","label":"LINE\\LINEBot\\SenderBuilder\\SenderBuilder"},{"file":"interface-LINE.LINEBot.ImagemapActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder"},{"file":"interface-LINE.LINEBot.TemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.TemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder"},{"file":"interface-LINE.LINEBot.HTTPClient.html","label":"LINE\\LINEBot\\HTTPClient"},{"file":"interface-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder"}]; +ApiGen.elements = [{"file":"namespace-Illuminate.Support.html","label":"Illuminate\\Support"},{"file":"namespace-Illuminate.Support.Facades.html","label":"Illuminate\\Support\\Facades"},{"file":"namespace-LINE.html","label":"LINE"},{"file":"namespace-LINE.LINEBot.html","label":"LINE\\LINEBot"},{"file":"namespace-LINE.LINEBot.Constant.html","label":"LINE\\LINEBot\\Constant"},{"file":"namespace-LINE.LINEBot.Constant.Flex.html","label":"LINE\\LINEBot\\Constant\\Flex"},{"file":"namespace-LINE.LINEBot.Event.html","label":"LINE\\LINEBot\\Event"},{"file":"namespace-LINE.LINEBot.Event.MessageEvent.html","label":"LINE\\LINEBot\\Event\\MessageEvent"},{"file":"namespace-LINE.LINEBot.Event.Parser.html","label":"LINE\\LINEBot\\Event\\Parser"},{"file":"namespace-LINE.LINEBot.Event.Things.html","label":"LINE\\LINEBot\\Event\\Things"},{"file":"namespace-LINE.LINEBot.Exception.html","label":"LINE\\LINEBot\\Exception"},{"file":"namespace-LINE.LINEBot.HTTPClient.html","label":"LINE\\LINEBot\\HTTPClient"},{"file":"namespace-LINE.LINEBot.ImagemapActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Flex.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Imagemap.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap"},{"file":"namespace-LINE.LINEBot.MessageBuilder.TemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder"},{"file":"namespace-LINE.LINEBot.MessageBuilder.Text.html","label":"LINE\\LINEBot\\MessageBuilder\\Text"},{"file":"namespace-LINE.LINEBot.Narrowcast.DemographicFilter.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter"},{"file":"namespace-LINE.LINEBot.Narrowcast.Recipient.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient"},{"file":"namespace-LINE.LINEBot.QuickReplyBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder"},{"file":"namespace-LINE.LINEBot.QuickReplyBuilder.ButtonBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\ButtonBuilder"},{"file":"namespace-LINE.LINEBot.RichMenuBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder"},{"file":"namespace-LINE.LINEBot.SenderBuilder.html","label":"LINE\\LINEBot\\SenderBuilder"},{"file":"namespace-LINE.LINEBot.TemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder"},{"file":"namespace-LINE.LINEBot.TemplateActionBuilder.Uri.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\Uri"},{"file":"namespace-LINE.LINEBot.Util.html","label":"LINE\\LINEBot\\Util"},{"file":"namespace-LINE.Laravel.html","label":"LINE\\Laravel"},{"file":"namespace-LINE.Laravel.Facade.html","label":"LINE\\Laravel\\Facade"},{"file":"namespace-none.html","label":"none"},{"file":"class-LINE.LINEBot.html","label":"LINE\\LINEBot"},{"file":"class-Illuminate.Support.ServiceProvider.html","label":"Illuminate\\Support\\ServiceProvider"},{"file":"class-LINE.LINEBot.Response.html","label":"LINE\\LINEBot\\Response"},{"file":"class-LINE.LINEBot.SignatureValidator.html","label":"LINE\\LINEBot\\SignatureValidator"},{"file":"class-LINE.LINEBot.RichMenuBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder"},{"file":"class-LINE.Laravel.LINEBotServiceProvider.html","label":"LINE\\Laravel\\LINEBotServiceProvider"},{"file":"class-Illuminate.Support.Facades.Facade.html","label":"Illuminate\\Support\\Facades\\Facade"},{"file":"class-LINE.LINEBot.Constant.ActionType.html","label":"LINE\\LINEBot\\Constant\\ActionType"},{"file":"class-LINE.LINEBot.Constant.EventSourceType.html","label":"LINE\\LINEBot\\Constant\\EventSourceType"},{"file":"class-LINE.LINEBot.Constant.HTTPHeader.html","label":"LINE\\LINEBot\\Constant\\HTTPHeader"},{"file":"class-LINE.LINEBot.Constant.MessageContentProviderType.html","label":"LINE\\LINEBot\\Constant\\MessageContentProviderType"},{"file":"class-LINE.LINEBot.Constant.MessageType.html","label":"LINE\\LINEBot\\Constant\\MessageType"},{"file":"class-LINE.LINEBot.Constant.Meta.html","label":"LINE\\LINEBot\\Constant\\Meta"},{"file":"class-LINE.LINEBot.Constant.StickerResourceType.html","label":"LINE\\LINEBot\\Constant\\StickerResourceType"},{"file":"class-LINE.LINEBot.Constant.TemplateType.html","label":"LINE\\LINEBot\\Constant\\TemplateType"},{"file":"class-LINE.LINEBot.Event.BeaconDetectionEvent.html","label":"LINE\\LINEBot\\Event\\BeaconDetectionEvent"},{"file":"class-LINE.LINEBot.Event.FollowEvent.html","label":"LINE\\LINEBot\\Event\\FollowEvent"},{"file":"class-LINE.LINEBot.Event.JoinEvent.html","label":"LINE\\LINEBot\\Event\\JoinEvent"},{"file":"class-LINE.LINEBot.Event.LeaveEvent.html","label":"LINE\\LINEBot\\Event\\LeaveEvent"},{"file":"class-LINE.LINEBot.Event.MemberJoinEvent.html","label":"LINE\\LINEBot\\Event\\MemberJoinEvent"},{"file":"class-LINE.LINEBot.Event.MemberLeaveEvent.html","label":"LINE\\LINEBot\\Event\\MemberLeaveEvent"},{"file":"class-LINE.LINEBot.Event.PostbackEvent.html","label":"LINE\\LINEBot\\Event\\PostbackEvent"},{"file":"class-LINE.LINEBot.Event.UnfollowEvent.html","label":"LINE\\LINEBot\\Event\\UnfollowEvent"},{"file":"class-LINE.LINEBot.Event.MessageEvent.html","label":"LINE\\LINEBot\\Event\\MessageEvent"},{"file":"class-LINE.LINEBot.Event.UnknownEvent.html","label":"LINE\\LINEBot\\Event\\UnknownEvent"},{"file":"class-LINE.LINEBot.Event.UnsendEvent.html","label":"LINE\\LINEBot\\Event\\UnsendEvent"},{"file":"class-LINE.LINEBot.Event.VideoPlayCompleteEvent.html","label":"LINE\\LINEBot\\Event\\VideoPlayCompleteEvent"},{"file":"class-LINE.LINEBot.Event.AccountLinkEvent.html","label":"LINE\\LINEBot\\Event\\AccountLinkEvent"},{"file":"class-LINE.LINEBot.Event.ThingsEvent.html","label":"LINE\\LINEBot\\Event\\ThingsEvent"},{"file":"class-LINE.LINEBot.Event.BaseEvent.html","label":"LINE\\LINEBot\\Event\\BaseEvent"},{"file":"class-LINE.LINEBot.HTTPClient.Curl.html","label":"LINE\\LINEBot\\HTTPClient\\Curl"},{"file":"class-LINE.LINEBot.HTTPClient.CurlHTTPClient.html","label":"LINE\\LINEBot\\HTTPClient\\CurlHTTPClient"},{"file":"class-LINE.LINEBot.ImagemapActionBuilder.AreaBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder\\AreaBuilder"},{"file":"class-LINE.LINEBot.ImagemapActionBuilder.ImagemapMessageActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder\\ImagemapMessageActionBuilder"},{"file":"class-LINE.LINEBot.ImagemapActionBuilder.ImagemapUriActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder\\ImagemapUriActionBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.MultiMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\MultiMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.RawMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\RawMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.AudioMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\AudioMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.ImageMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\ImageMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.LocationMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\LocationMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.StickerMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\StickerMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.VideoMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\VideoMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TextMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TextMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.FlexMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\FlexMessageBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.ImagemapMessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\ImagemapMessageBuilder"},{"file":"class-LINE.LINEBot.QuickReplyBuilder.QuickReplyMessageBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\QuickReplyMessageBuilder"},{"file":"class-LINE.LINEBot.RichMenuBuilder.RichMenuAreaBoundsBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder\\RichMenuAreaBoundsBuilder"},{"file":"class-LINE.LINEBot.RichMenuBuilder.RichMenuSizeBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder\\RichMenuSizeBuilder"},{"file":"class-LINE.LINEBot.RichMenuBuilder.RichMenuAreaBuilder.html","label":"LINE\\LINEBot\\RichMenuBuilder\\RichMenuAreaBuilder"},{"file":"class-LINE.LINEBot.SenderBuilder.SenderMessageBuilder.html","label":"LINE\\LINEBot\\SenderBuilder\\SenderMessageBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.CameraRollTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\CameraRollTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.CameraTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\CameraTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.LocationTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\LocationTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.MessageTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\MessageTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.PostbackTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\PostbackTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.DatetimePickerTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\DatetimePickerTemplateActionBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.UriTemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\UriTemplateActionBuilder"},{"file":"class-LINE.LINEBot.Util.BuildUtil.html","label":"LINE\\LINEBot\\Util\\BuildUtil"},{"file":"class-LINE.Laravel.Facade.LINEBot.html","label":"LINE\\Laravel\\Facade\\LINEBot"},{"file":"class-LINE.LINEBot.Constant.Flex.BubleContainerSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\BubleContainerSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentAlign.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentAlign"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentBorderWidth.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentBorderWidth"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentButtonHeight.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentButtonHeight"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentButtonStyle.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentButtonStyle"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentFontSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentFontSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentFontWeight.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentFontWeight"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentGravity.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentGravity"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentIconAspectRatio.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentIconAspectRatio"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentIconSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentIconSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentImageAspectMode.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentImageAspectMode"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentImageAspectRatio.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentImageAspectRatio"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentImageSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentImageSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentLayout.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentLayout"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentMargin.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentMargin"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentPosition.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentPosition"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentSpaceSize.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentSpaceSize"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentSpacing.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentSpacing"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentTextDecoration.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentTextDecoration"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentTextStyle.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentTextStyle"},{"file":"class-LINE.LINEBot.Constant.Flex.ComponentType.html","label":"LINE\\LINEBot\\Constant\\Flex\\ComponentType"},{"file":"class-LINE.LINEBot.Constant.Flex.ContainerDirection.html","label":"LINE\\LINEBot\\Constant\\Flex\\ContainerDirection"},{"file":"class-LINE.LINEBot.Constant.Flex.ContainerType.html","label":"LINE\\LINEBot\\Constant\\Flex\\ContainerType"},{"file":"class-LINE.LINEBot.Event.MessageEvent.EmojiInfo.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\EmojiInfo"},{"file":"class-LINE.LINEBot.Event.MessageEvent.ContentProvider.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\ContentProvider"},{"file":"class-LINE.LINEBot.Event.MessageEvent.AudioMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\AudioMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.FileMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\FileMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.ImageMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\ImageMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.LocationMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\LocationMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.StickerMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\StickerMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.TextMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\TextMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.UnknownMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\UnknownMessage"},{"file":"class-LINE.LINEBot.Event.MessageEvent.VideoMessage.html","label":"LINE\\LINEBot\\Event\\MessageEvent\\VideoMessage"},{"file":"class-LINE.LINEBot.Event.Parser.EventRequestParser.html","label":"LINE\\LINEBot\\Event\\Parser\\EventRequestParser"},{"file":"class-LINE.LINEBot.Event.Things.ThingsResult.html","label":"LINE\\LINEBot\\Event\\Things\\ThingsResult"},{"file":"class-LINE.LINEBot.Event.Things.ThingsResultAction.html","label":"LINE\\LINEBot\\Event\\Things\\ThingsResultAction"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.BlockStyleBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\BlockStyleBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.BubbleStylesBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\BubbleStylesBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Imagemap.BaseSizeBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap\\BaseSizeBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Imagemap.ExternalLinkBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap\\ExternalLinkBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Imagemap.VideoBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Imagemap\\VideoBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.CarouselTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\CarouselTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ImageCarouselTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ImageCarouselTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.CarouselColumnTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\CarouselColumnTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ImageCarouselColumnTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ImageCarouselColumnTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ConfirmTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ConfirmTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.TemplateBuilder.ButtonTemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder\\ButtonTemplateBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Text.EmojiBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Text\\EmojiBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Text.EmojiTextBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Text\\EmojiTextBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.OperatorDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\OperatorDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.AppTypeDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\AppTypeDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.AreaDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\AreaDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.GenderDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\GenderDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.AgeDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\AgeDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.SubscriptionPeriodDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\SubscriptionPeriodDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.DemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\DemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.OneOfDemographicFilter.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\OneOfDemographicFilter"},{"file":"class-LINE.LINEBot.Narrowcast.DemographicFilter.RangeDemographicFilterBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\DemographicFilter\\RangeDemographicFilterBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.AudienceRecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\AudienceRecipientBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.OperatorRecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\OperatorRecipientBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.RedeliveryRecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\RedeliveryRecipientBuilder"},{"file":"class-LINE.LINEBot.Narrowcast.Recipient.RecipientBuilder.html","label":"LINE\\LINEBot\\Narrowcast\\Recipient\\RecipientBuilder"},{"file":"class-LINE.LINEBot.QuickReplyBuilder.ButtonBuilder.QuickReplyButtonBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\ButtonBuilder\\QuickReplyButtonBuilder"},{"file":"class-LINE.LINEBot.TemplateActionBuilder.Uri.AltUriBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder\\Uri\\AltUriBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.FillerComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\FillerComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.SeparatorComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\SeparatorComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.SpacerComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\SpacerComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.IconComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\IconComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.SpanComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\SpanComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.ButtonComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\ButtonComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.BoxComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\BoxComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.ImageComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\ImageComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.TextComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder\\TextComponentBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.CarouselContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder\\CarouselContainerBuilder"},{"file":"class-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.BubbleContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder\\BubbleContainerBuilder"},{"file":"interface-Throwable.html","label":"Throwable"},{"file":"interface-LINE.LINEBot.QuickReplyBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder"},{"file":"interface-LINE.LINEBot.HTTPClient.html","label":"LINE\\LINEBot\\HTTPClient"},{"file":"interface-LINE.LINEBot.ImagemapActionBuilder.html","label":"LINE\\LINEBot\\ImagemapActionBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.html","label":"LINE\\LINEBot\\MessageBuilder"},{"file":"interface-LINE.LINEBot.TemplateActionBuilder.html","label":"LINE\\LINEBot\\TemplateActionBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.TemplateBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\TemplateBuilder"},{"file":"interface-LINE.LINEBot.QuickReplyBuilder.QuickReplyButtonBuilder.html","label":"LINE\\LINEBot\\QuickReplyBuilder\\QuickReplyButtonBuilder"},{"file":"interface-LINE.LINEBot.SenderBuilder.SenderBuilder.html","label":"LINE\\LINEBot\\SenderBuilder\\SenderBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.Flex.ComponentBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ComponentBuilder"},{"file":"interface-LINE.LINEBot.MessageBuilder.Flex.ContainerBuilder.html","label":"LINE\\LINEBot\\MessageBuilder\\Flex\\ContainerBuilder"}]; diff --git a/docs/index.html b/docs/index.html index 2beb6dcb..24cf5b4c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -59,6 +59,16 @@

Overview

+ + + + + + + + + + + + - - - @@ -100,7 +95,12 @@

Interfaces

+ + + diff --git a/docs/namespace-Illuminate.Support.Facades.html b/docs/namespace-Illuminate.Support.Facades.html new file mode 100644 index 00000000..5012b068 --- /dev/null +++ b/docs/namespace-Illuminate.Support.Facades.html @@ -0,0 +1,121 @@ + + + + + + + + + + + + + Namespace Illuminate\Support\Facades + + + + + + + + +
+
+
+

Illuminate\Support\Facades

+ + + +
Namespaces Summary
+ Illuminate\Support +
+ Illuminate\Support\Facades +
LINE @@ -194,6 +204,16 @@

Overview

LINE\LINEBot\Util
+ LINE\Laravel +
+ LINE\Laravel\Facade +
none diff --git a/docs/interfaces.html b/docs/interfaces.html index dd9491e4..06937a87 100644 --- a/docs/interfaces.html +++ b/docs/interfaces.html @@ -63,11 +63,6 @@

Interfaces

Throwable
- LINE\LINEBot\QuickReplyBuilder\QuickReplyButtonBuilder -
LINE\LINEBot\QuickReplyBuilder @@ -75,7 +70,7 @@

Interfaces

- LINE\LINEBot\SenderBuilder\SenderBuilder + LINE\LINEBot\HTTPClient
- LINE\LINEBot\HTTPClient + LINE\LINEBot\QuickReplyBuilder\QuickReplyButtonBuilder +
+ LINE\LINEBot\SenderBuilder\SenderBuilder
+ + + + + +
Classes Summary
+ + Facade + +
+ + + + + +
+
+
+ + + + + + + + + + diff --git a/docs/namespace-Illuminate.Support.html b/docs/namespace-Illuminate.Support.html new file mode 100644 index 00000000..e3a1d5f9 --- /dev/null +++ b/docs/namespace-Illuminate.Support.html @@ -0,0 +1,123 @@ + + + + + + + + + + + + + Namespace Illuminate\Support + + + + + + + + +
+
+
+

Illuminate\Support

+ + + + + + +
Namespaces Summary
Illuminate\Support\Facades
+ + + + + + + + +
Classes Summary
+ + ServiceProvider + +
+ + + + + +
+
+
+ + + + + + + + + + diff --git a/docs/namespace-Illuminate.html b/docs/namespace-Illuminate.html new file mode 100644 index 00000000..9bca5aad --- /dev/null +++ b/docs/namespace-Illuminate.html @@ -0,0 +1,108 @@ + + + + + + + + + + + + + Namespace Illuminate + + + + + + + + +
+
+
+

Illuminate

+ + + + + + +
Namespaces Summary
Illuminate\Support
+ + + + + + + +
+
+
+ + + + + + + + + + diff --git a/docs/namespace-LINE.Laravel.Facade.html b/docs/namespace-LINE.Laravel.Facade.html new file mode 100644 index 00000000..94f4272b --- /dev/null +++ b/docs/namespace-LINE.Laravel.Facade.html @@ -0,0 +1,121 @@ + + + + + + + + + + + + + Namespace LINE\Laravel\Facade + + + + + + + + +
+
+
+

LINE\Laravel\Facade

+ + + + + + + + + +
Classes Summary
+ + LINEBot + +
+ + + + + +
+
+
+ + + + + + + + + + diff --git a/docs/namespace-LINE.Laravel.html b/docs/namespace-LINE.Laravel.html new file mode 100644 index 00000000..2d92c831 --- /dev/null +++ b/docs/namespace-LINE.Laravel.html @@ -0,0 +1,123 @@ + + + + + + + + + + + + + Namespace LINE\Laravel + + + + + + + + +
+
+
+

LINE\Laravel

+ + + + + + +
Namespaces Summary
LINE\Laravel\Facade
+ + + + + + + + +
Classes Summary
+ + LINEBotServiceProvider + +
+ + + + + +
+
+
+ + + + + + + + + + diff --git a/docs/namespace-LINE.html b/docs/namespace-LINE.html index d957099a..88becf97 100644 --- a/docs/namespace-LINE.html +++ b/docs/namespace-LINE.html @@ -83,6 +83,9 @@

LINE

LINE\LINEBot + + LINE\Laravel + diff --git a/docs/source-class-Illuminate.Support.Facades.Facade.html b/docs/source-class-Illuminate.Support.Facades.Facade.html new file mode 100644 index 00000000..00eec337 --- /dev/null +++ b/docs/source-class-Illuminate.Support.Facades.Facade.html @@ -0,0 +1,300 @@ + + + + + + + + + + + + + Source file + + + + + + +
+
+
+
+
  1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:  15:  16:  17:  18:  19:  20:  21:  22:  23:  24:  25:  26:  27:  28:  29:  30:  31:  32:  33:  34:  35:  36:  37:  38:  39:  40:  41:  42:  43:  44:  45:  46:  47:  48:  49:  50:  51:  52:  53:  54:  55:  56:  57:  58:  59:  60:  61:  62:  63:  64:  65:  66:  67:  68:  69:  70:  71:  72:  73:  74:  75:  76:  77:  78:  79:  80:  81:  82:  83:  84:  85:  86:  87:  88:  89:  90:  91:  92:  93:  94:  95:  96:  97:  98:  99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 
+
<?php
+
+namespace Illuminate\Support\Facades;
+
+use Mockery;
+use RuntimeException;
+use Mockery\MockInterface;
+
+abstract class Facade
+{
+    /**
+     * The application instance being facaded.
+     *
+     * @var \Illuminate\Contracts\Foundation\Application
+     */
+    protected static $app;
+
+    /**
+     * The resolved object instances.
+     *
+     * @var array
+     */
+    protected static $resolvedInstance;
+
+    /**
+     * Convert the facade into a Mockery spy.
+     *
+     * @return void
+     */
+    public static function spy()
+    {
+        if (! static::isMock()) {
+            $class = static::getMockableClass();
+
+            static::swap($class ? Mockery::spy($class) : Mockery::spy());
+        }
+    }
+
+    /**
+     * Initiate a mock expectation on the facade.
+     *
+     * @return \Mockery\Expectation
+     */
+    public static function shouldReceive()
+    {
+        $name = static::getFacadeAccessor();
+
+        $mock = static::isMock()
+                    ? static::$resolvedInstance[$name]
+                    : static::createFreshMockInstance();
+
+        return $mock->shouldReceive(...func_get_args());
+    }
+
+    /**
+     * Create a fresh mock instance for the given class.
+     *
+     * @return \Mockery\Expectation
+     */
+    protected static function createFreshMockInstance()
+    {
+        return tap(static::createMock(), function ($mock) {
+            static::swap($mock);
+
+            $mock->shouldAllowMockingProtectedMethods();
+        });
+    }
+
+    /**
+     * Create a fresh mock instance for the given class.
+     *
+     * @return \Mockery\MockInterface
+     */
+    protected static function createMock()
+    {
+        $class = static::getMockableClass();
+
+        return $class ? Mockery::mock($class) : Mockery::mock();
+    }
+
+    /**
+     * Determines whether a mock is set as the instance of the facade.
+     *
+     * @return bool
+     */
+    protected static function isMock()
+    {
+        $name = static::getFacadeAccessor();
+
+        return isset(static::$resolvedInstance[$name]) &&
+               static::$resolvedInstance[$name] instanceof MockInterface;
+    }
+
+    /**
+     * Get the mockable class for the bound instance.
+     *
+     * @return string|null
+     */
+    protected static function getMockableClass()
+    {
+        if ($root = static::getFacadeRoot()) {
+            return get_class($root);
+        }
+    }
+
+    /**
+     * Hotswap the underlying instance behind the facade.
+     *
+     * @param  mixed  $instance
+     * @return void
+     */
+    public static function swap($instance)
+    {
+        static::$resolvedInstance[static::getFacadeAccessor()] = $instance;
+
+        if (isset(static::$app)) {
+            static::$app->instance(static::getFacadeAccessor(), $instance);
+        }
+    }
+
+    /**
+     * Get the root object behind the facade.
+     *
+     * @return mixed
+     */
+    public static function getFacadeRoot()
+    {
+        return static::resolveFacadeInstance(static::getFacadeAccessor());
+    }
+
+    /**
+     * Get the registered name of the component.
+     *
+     * @return string
+     *
+     * @throws \RuntimeException
+     */
+    protected static function getFacadeAccessor()
+    {
+        throw new RuntimeException('Facade does not implement getFacadeAccessor method.');
+    }
+
+    /**
+     * Resolve the facade root instance from the container.
+     *
+     * @param  string|object  $name
+     * @return mixed
+     */
+    protected static function resolveFacadeInstance($name)
+    {
+        if (is_object($name)) {
+            return $name;
+        }
+
+        if (isset(static::$resolvedInstance[$name])) {
+            return static::$resolvedInstance[$name];
+        }
+
+        return static::$resolvedInstance[$name] = static::$app[$name];
+    }
+
+    /**
+     * Clear a resolved facade instance.
+     *
+     * @param  string  $name
+     * @return void
+     */
+    public static function clearResolvedInstance($name)
+    {
+        unset(static::$resolvedInstance[$name]);
+    }
+
+    /**
+     * Clear all of the resolved instances.
+     *
+     * @return void
+     */
+    public static function clearResolvedInstances()
+    {
+        static::$resolvedInstance = [];
+    }
+
+    /**
+     * Get the application instance behind the facade.
+     *
+     * @return \Illuminate\Contracts\Foundation\Application
+     */
+    public static function getFacadeApplication()
+    {
+        return static::$app;
+    }
+
+    /**
+     * Set the application instance.
+     *
+     * @param  \Illuminate\Contracts\Foundation\Application  $app
+     * @return void
+     */
+    public static function setFacadeApplication($app)
+    {
+        static::$app = $app;
+    }
+
+    /**
+     * Handle dynamic, static calls to the object.
+     *
+     * @param  string  $method
+     * @param  array   $args
+     * @return mixed
+     *
+     * @throws \RuntimeException
+     */
+    public static function __callStatic($method, $args)
+    {
+        $instance = static::getFacadeRoot();
+
+        if (! $instance) {
+            throw new RuntimeException('A facade root has not been set.');
+        }
+
+        return $instance->$method(...$args);
+    }
+}
+
+
+ +
+
+
+ + + + + + + + + + diff --git a/docs/source-class-Illuminate.Support.ServiceProvider.html b/docs/source-class-Illuminate.Support.ServiceProvider.html new file mode 100644 index 00000000..e03187be --- /dev/null +++ b/docs/source-class-Illuminate.Support.ServiceProvider.html @@ -0,0 +1,377 @@ + + + + + + + + + + + + + Source file + + + + + + +
+
+
+
+
  1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:  15:  16:  17:  18:  19:  20:  21:  22:  23:  24:  25:  26:  27:  28:  29:  30:  31:  32:  33:  34:  35:  36:  37:  38:  39:  40:  41:  42:  43:  44:  45:  46:  47:  48:  49:  50:  51:  52:  53:  54:  55:  56:  57:  58:  59:  60:  61:  62:  63:  64:  65:  66:  67:  68:  69:  70:  71:  72:  73:  74:  75:  76:  77:  78:  79:  80:  81:  82:  83:  84:  85:  86:  87:  88:  89:  90:  91:  92:  93:  94:  95:  96:  97:  98:  99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 
+
<?php
+
+namespace Illuminate\Support;
+
+use Illuminate\Console\Application as Artisan;
+
+abstract class ServiceProvider
+{
+    /**
+     * The application instance.
+     *
+     * @var \Illuminate\Contracts\Foundation\Application
+     */
+    protected $app;
+
+    /**
+     * Indicates if loading of the provider is deferred.
+     *
+     * @var bool
+     */
+    protected $defer = false;
+
+    /**
+     * The paths that should be published.
+     *
+     * @var array
+     */
+    public static $publishes = [];
+
+    /**
+     * The paths that should be published by group.
+     *
+     * @var array
+     */
+    public static $publishGroups = [];
+
+    /**
+     * Create a new service provider instance.
+     *
+     * @param  \Illuminate\Contracts\Foundation\Application  $app
+     * @return void
+     */
+    public function __construct($app)
+    {
+        $this->app = $app;
+    }
+
+    /**
+     * Merge the given configuration with the existing configuration.
+     *
+     * @param  string  $path
+     * @param  string  $key
+     * @return void
+     */
+    protected function mergeConfigFrom($path, $key)
+    {
+        $config = $this->app['config']->get($key, []);
+
+        $this->app['config']->set($key, array_merge(require $path, $config));
+    }
+
+    /**
+     * Load the given routes file if routes are not already cached.
+     *
+     * @param  string  $path
+     * @return void
+     */
+    protected function loadRoutesFrom($path)
+    {
+        if (! $this->app->routesAreCached()) {
+            require $path;
+        }
+    }
+
+    /**
+     * Register a view file namespace.
+     *
+     * @param  string|array  $path
+     * @param  string  $namespace
+     * @return void
+     */
+    protected function loadViewsFrom($path, $namespace)
+    {
+        if (is_array($this->app->config['view']['paths'])) {
+            foreach ($this->app->config['view']['paths'] as $viewPath) {
+                if (is_dir($appPath = $viewPath.'/vendor/'.$namespace)) {
+                    $this->app['view']->addNamespace($namespace, $appPath);
+                }
+            }
+        }
+
+        $this->app['view']->addNamespace($namespace, $path);
+    }
+
+    /**
+     * Register a translation file namespace.
+     *
+     * @param  string  $path
+     * @param  string  $namespace
+     * @return void
+     */
+    protected function loadTranslationsFrom($path, $namespace)
+    {
+        $this->app['translator']->addNamespace($namespace, $path);
+    }
+
+    /**
+     * Register a JSON translation file path.
+     *
+     * @param  string  $path
+     * @return void
+     */
+    protected function loadJsonTranslationsFrom($path)
+    {
+        $this->app['translator']->addJsonPath($path);
+    }
+
+    /**
+     * Register a database migration path.
+     *
+     * @param  array|string  $paths
+     * @return void
+     */
+    protected function loadMigrationsFrom($paths)
+    {
+        $this->app->afterResolving('migrator', function ($migrator) use ($paths) {
+            foreach ((array) $paths as $path) {
+                $migrator->path($path);
+            }
+        });
+    }
+
+    /**
+     * Register paths to be published by the publish command.
+     *
+     * @param  array  $paths
+     * @param  string  $group
+     * @return void
+     */
+    protected function publishes(array $paths, $group = null)
+    {
+        $this->ensurePublishArrayInitialized($class = static::class);
+
+        static::$publishes[$class] = array_merge(static::$publishes[$class], $paths);
+
+        if ($group) {
+            $this->addPublishGroup($group, $paths);
+        }
+    }
+
+    /**
+     * Ensure the publish array for the service provider is initialized.
+     *
+     * @param  string  $class
+     * @return void
+     */
+    protected function ensurePublishArrayInitialized($class)
+    {
+        if (! array_key_exists($class, static::$publishes)) {
+            static::$publishes[$class] = [];
+        }
+    }
+
+    /**
+     * Add a publish group / tag to the service provider.
+     *
+     * @param  string  $group
+     * @param  array  $paths
+     * @return void
+     */
+    protected function addPublishGroup($group, $paths)
+    {
+        if (! array_key_exists($group, static::$publishGroups)) {
+            static::$publishGroups[$group] = [];
+        }
+
+        static::$publishGroups[$group] = array_merge(
+            static::$publishGroups[$group], $paths
+        );
+    }
+
+    /**
+     * Get the paths to publish.
+     *
+     * @param  string  $provider
+     * @param  string  $group
+     * @return array
+     */
+    public static function pathsToPublish($provider = null, $group = null)
+    {
+        if (! is_null($paths = static::pathsForProviderOrGroup($provider, $group))) {
+            return $paths;
+        }
+
+        return collect(static::$publishes)->reduce(function ($paths, $p) {
+            return array_merge($paths, $p);
+        }, []);
+    }
+
+    /**
+     * Get the paths for the provider or group (or both).
+     *
+     * @param  string|null  $provider
+     * @param  string|null  $group
+     * @return array
+     */
+    protected static function pathsForProviderOrGroup($provider, $group)
+    {
+        if ($provider && $group) {
+            return static::pathsForProviderAndGroup($provider, $group);
+        } elseif ($group && array_key_exists($group, static::$publishGroups)) {
+            return static::$publishGroups[$group];
+        } elseif ($provider && array_key_exists($provider, static::$publishes)) {
+            return static::$publishes[$provider];
+        } elseif ($group || $provider) {
+            return [];
+        }
+    }
+
+    /**
+     * Get the paths for the provider and group.
+     *
+     * @param  string  $provider
+     * @param  string  $group
+     * @return array
+     */
+    protected static function pathsForProviderAndGroup($provider, $group)
+    {
+        if (! empty(static::$publishes[$provider]) && ! empty(static::$publishGroups[$group])) {
+            return array_intersect_key(static::$publishes[$provider], static::$publishGroups[$group]);
+        }
+
+        return [];
+    }
+
+    /**
+     * Get the service providers available for publishing.
+     *
+     * @return array
+     */
+    public static function publishableProviders()
+    {
+        return array_keys(static::$publishes);
+    }
+
+    /**
+     * Get the groups available for publishing.
+     *
+     * @return array
+     */
+    public static function publishableGroups()
+    {
+        return array_keys(static::$publishGroups);
+    }
+
+    /**
+     * Register the package's custom Artisan commands.
+     *
+     * @param  array|mixed  $commands
+     * @return void
+     */
+    public function commands($commands)
+    {
+        $commands = is_array($commands) ? $commands : func_get_args();
+
+        Artisan::starting(function ($artisan) use ($commands) {
+            $artisan->resolveCommands($commands);
+        });
+    }
+
+    /**
+     * Get the services provided by the provider.
+     *
+     * @return array
+     */
+    public function provides()
+    {
+        return [];
+    }
+
+    /**
+     * Get the events that trigger this service provider to register.
+     *
+     * @return array
+     */
+    public function when()
+    {
+        return [];
+    }
+
+    /**
+     * Determine if the provider is deferred.
+     *
+     * @return bool
+     */
+    public function isDeferred()
+    {
+        return $this->defer;
+    }
+}
+
+
+ +
+
+
+ + + + + + + + + + diff --git a/docs/source-class-LINE.LINEBot.Constant.Meta.html b/docs/source-class-LINE.LINEBot.Constant.Meta.html index a91938d7..31109a2b 100644 --- a/docs/source-class-LINE.LINEBot.Constant.Meta.html +++ b/docs/source-class-LINE.LINEBot.Constant.Meta.html @@ -79,7 +79,7 @@ class Meta { - const VERSION = '5.0.0'; + const VERSION = '5.1.0'; }
diff --git a/docs/source-class-LINE.LINEBot.html b/docs/source-class-LINE.LINEBot.html index 52f48004..cb368bec 100644 --- a/docs/source-class-LINE.LINEBot.html +++ b/docs/source-class-LINE.LINEBot.html @@ -56,7 +56,7 @@
-
   1:    2:    3:    4:    5:    6:    7:    8:    9:   10:   11:   12:   13:   14:   15:   16:   17:   18:   19:   20:   21:   22:   23:   24:   25:   26:   27:   28:   29:   30:   31:   32:   33:   34:   35:   36:   37:   38:   39:   40:   41:   42:   43:   44:   45:   46:   47:   48:   49:   50:   51:   52:   53:   54:   55:   56:   57:   58:   59:   60:   61:   62:   63:   64:   65:   66:   67:   68:   69:   70:   71:   72:   73:   74:   75:   76:   77:   78:   79:   80:   81:   82:   83:   84:   85:   86:   87:   88:   89:   90:   91:   92:   93:   94:   95:   96:   97:   98:   99:  100:  101:  102:  103:  104:  105:  106:  107:  108:  109:  110:  111:  112:  113:  114:  115:  116:  117:  118:  119:  120:  121:  122:  123:  124:  125:  126:  127:  128:  129:  130:  131:  132:  133:  134:  135:  136:  137:  138:  139:  140:  141:  142:  143:  144:  145:  146:  147:  148:  149:  150:  151:  152:  153:  154:  155:  156:  157:  158:  159:  160:  161:  162:  163:  164:  165:  166:  167:  168:  169:  170:  171:  172:  173:  174:  175:  176:  177:  178:  179:  180:  181:  182:  183:  184:  185:  186:  187:  188:  189:  190:  191:  192:  193:  194:  195:  196:  197:  198:  199:  200:  201:  202:  203:  204:  205:  206:  207:  208:  209:  210:  211:  212:  213:  214:  215:  216:  217:  218:  219:  220:  221:  222:  223:  224:  225:  226:  227:  228:  229:  230:  231:  232:  233:  234:  235:  236:  237:  238:  239:  240:  241:  242:  243:  244:  245:  246:  247:  248:  249:  250:  251:  252:  253:  254:  255:  256:  257:  258:  259:  260:  261:  262:  263:  264:  265:  266:  267:  268:  269:  270:  271:  272:  273:  274:  275:  276:  277:  278:  279:  280:  281:  282:  283:  284:  285:  286:  287:  288:  289:  290:  291:  292:  293:  294:  295:  296:  297:  298:  299:  300:  301:  302:  303:  304:  305:  306:  307:  308:  309:  310:  311:  312:  313:  314:  315:  316:  317:  318:  319:  320:  321:  322:  323:  324:  325:  326:  327:  328:  329:  330:  331:  332:  333:  334:  335:  336:  337:  338:  339:  340:  341:  342:  343:  344:  345:  346:  347:  348:  349:  350:  351:  352:  353:  354:  355:  356:  357:  358:  359:  360:  361:  362:  363:  364:  365:  366:  367:  368:  369:  370:  371:  372:  373:  374:  375:  376:  377:  378:  379:  380:  381:  382:  383:  384:  385:  386:  387:  388:  389:  390:  391:  392:  393:  394:  395:  396:  397:  398:  399:  400:  401:  402:  403:  404:  405:  406:  407:  408:  409:  410:  411:  412:  413:  414:  415:  416:  417:  418:  419:  420:  421:  422:  423:  424:  425:  426:  427:  428:  429:  430:  431:  432:  433:  434:  435:  436:  437:  438:  439:  440:  441:  442:  443:  444:  445:  446:  447:  448:  449:  450:  451:  452:  453:  454:  455:  456:  457:  458:  459:  460:  461:  462:  463:  464:  465:  466:  467:  468:  469:  470:  471:  472:  473:  474:  475:  476:  477:  478:  479:  480:  481:  482:  483:  484:  485:  486:  487:  488:  489:  490:  491:  492:  493:  494:  495:  496:  497:  498:  499:  500:  501:  502:  503:  504:  505:  506:  507:  508:  509:  510:  511:  512:  513:  514:  515:  516:  517:  518:  519:  520:  521:  522:  523:  524:  525:  526:  527:  528:  529:  530:  531:  532:  533:  534:  535:  536:  537:  538:  539:  540:  541:  542:  543:  544:  545:  546:  547:  548:  549:  550:  551:  552:  553:  554:  555:  556:  557:  558:  559:  560:  561:  562:  563:  564:  565:  566:  567:  568:  569:  570:  571:  572:  573:  574:  575:  576:  577:  578:  579:  580:  581:  582:  583:  584:  585:  586:  587:  588:  589:  590:  591:  592:  593:  594:  595:  596:  597:  598:  599:  600:  601:  602:  603:  604:  605:  606:  607:  608:  609:  610:  611:  612:  613:  614:  615:  616:  617:  618:  619:  620:  621:  622:  623:  624:  625:  626:  627:  628:  629:  630:  631:  632:  633:  634:  635:  636:  637:  638:  639:  640:  641:  642:  643:  644:  645:  646:  647:  648:  649:  650:  651:  652:  653:  654:  655:  656:  657:  658:  659:  660:  661:  662:  663:  664:  665:  666:  667:  668:  669:  670:  671:  672:  673:  674:  675:  676:  677:  678:  679:  680:  681:  682:  683:  684:  685:  686:  687:  688:  689:  690:  691:  692:  693:  694:  695:  696:  697:  698:  699:  700:  701:  702:  703:  704:  705:  706:  707:  708:  709:  710:  711:  712:  713:  714:  715:  716:  717:  718:  719:  720:  721:  722:  723:  724:  725:  726:  727:  728:  729:  730:  731:  732:  733:  734:  735:  736:  737:  738:  739:  740:  741:  742:  743:  744:  745:  746:  747:  748:  749:  750:  751:  752:  753:  754:  755:  756:  757:  758:  759:  760:  761:  762:  763:  764:  765:  766:  767:  768:  769:  770:  771:  772:  773:  774:  775:  776:  777:  778:  779:  780:  781:  782:  783:  784:  785:  786:  787:  788:  789:  790:  791:  792:  793:  794:  795:  796:  797:  798:  799:  800:  801:  802:  803:  804:  805:  806:  807:  808:  809:  810:  811:  812:  813:  814:  815:  816:  817:  818:  819:  820:  821:  822:  823:  824:  825:  826:  827:  828:  829:  830:  831:  832:  833:  834:  835:  836:  837:  838:  839:  840:  841:  842:  843:  844:  845:  846:  847:  848:  849:  850:  851:  852:  853:  854:  855:  856:  857:  858:  859:  860:  861:  862:  863:  864:  865:  866:  867:  868:  869:  870:  871:  872:  873:  874:  875:  876:  877:  878:  879:  880:  881:  882:  883:  884:  885:  886:  887:  888:  889:  890:  891:  892:  893:  894:  895:  896:  897:  898:  899:  900:  901:  902:  903:  904:  905:  906:  907:  908:  909:  910:  911:  912:  913:  914:  915:  916:  917:  918:  919:  920:  921:  922:  923:  924:  925:  926:  927:  928:  929:  930:  931:  932:  933:  934:  935:  936:  937:  938:  939:  940:  941:  942:  943:  944:  945:  946:  947:  948:  949:  950:  951:  952:  953:  954:  955:  956:  957:  958:  959:  960:  961:  962:  963:  964:  965:  966:  967:  968:  969:  970:  971:  972:  973:  974:  975:  976:  977:  978:  979:  980:  981:  982:  983:  984:  985:  986:  987:  988:  989:  990:  991:  992:  993:  994:  995:  996:  997:  998:  999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: 1009: 1010: 1011: 1012: 1013: 1014: 1015: 1016: 1017: 1018: 1019: 1020: 1021: 1022: 1023: 1024: 1025: 1026: 1027: 1028: 1029: 1030: 1031: 1032: 1033: 1034: 1035: 1036: 1037: 1038: 1039: 1040: 1041: 1042: 1043: 1044: 1045: 1046: 1047: 1048: 1049: 1050: 1051: 1052: 1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060: 1061: 1062: 1063: 1064: 1065: 1066: 1067: 1068: 1069: 1070: 1071: 1072: 1073: 1074: 1075: 1076: 1077: 1078: 1079: 1080: 1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089: 1090: 1091: 1092: 1093: 1094: 1095: 1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103: 1104: 1105: 1106: 1107: 1108: 1109: 1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122: 1123: 1124: 1125: 1126: 1127: 1128: 1129: 1130: 1131: 1132: 1133: 1134: 1135: 1136: 1137: 1138: 1139: 1140: 1141: 1142: 1143: 1144: 1145: 1146: 1147: 1148: 1149: 1150: 1151: 1152: 1153: 
+
   1:    2:    3:    4:    5:    6:    7:    8:    9:   10:   11:   12:   13:   14:   15:   16:   17:   18:   19:   20:   21:   22:   23:   24:   25:   26:   27:   28:   29:   30:   31:   32:   33:   34:   35:   36:   37:   38:   39:   40:   41:   42:   43:   44:   45:   46:   47:   48:   49:   50:   51:   52:   53:   54:   55:   56:   57:   58:   59:   60:   61:   62:   63:   64:   65:   66:   67:   68:   69:   70:   71:   72:   73:   74:   75:   76:   77:   78:   79:   80:   81:   82:   83:   84:   85:   86:   87:   88:   89:   90:   91:   92:   93:   94:   95:   96:   97:   98:   99:  100:  101:  102:  103:  104:  105:  106:  107:  108:  109:  110:  111:  112:  113:  114:  115:  116:  117:  118:  119:  120:  121:  122:  123:  124:  125:  126:  127:  128:  129:  130:  131:  132:  133:  134:  135:  136:  137:  138:  139:  140:  141:  142:  143:  144:  145:  146:  147:  148:  149:  150:  151:  152:  153:  154:  155:  156:  157:  158:  159:  160:  161:  162:  163:  164:  165:  166:  167:  168:  169:  170:  171:  172:  173:  174:  175:  176:  177:  178:  179:  180:  181:  182:  183:  184:  185:  186:  187:  188:  189:  190:  191:  192:  193:  194:  195:  196:  197:  198:  199:  200:  201:  202:  203:  204:  205:  206:  207:  208:  209:  210:  211:  212:  213:  214:  215:  216:  217:  218:  219:  220:  221:  222:  223:  224:  225:  226:  227:  228:  229:  230:  231:  232:  233:  234:  235:  236:  237:  238:  239:  240:  241:  242:  243:  244:  245:  246:  247:  248:  249:  250:  251:  252:  253:  254:  255:  256:  257:  258:  259:  260:  261:  262:  263:  264:  265:  266:  267:  268:  269:  270:  271:  272:  273:  274:  275:  276:  277:  278:  279:  280:  281:  282:  283:  284:  285:  286:  287:  288:  289:  290:  291:  292:  293:  294:  295:  296:  297:  298:  299:  300:  301:  302:  303:  304:  305:  306:  307:  308:  309:  310:  311:  312:  313:  314:  315:  316:  317:  318:  319:  320:  321:  322:  323:  324:  325:  326:  327:  328:  329:  330:  331:  332:  333:  334:  335:  336:  337:  338:  339:  340:  341:  342:  343:  344:  345:  346:  347:  348:  349:  350:  351:  352:  353:  354:  355:  356:  357:  358:  359:  360:  361:  362:  363:  364:  365:  366:  367:  368:  369:  370:  371:  372:  373:  374:  375:  376:  377:  378:  379:  380:  381:  382:  383:  384:  385:  386:  387:  388:  389:  390:  391:  392:  393:  394:  395:  396:  397:  398:  399:  400:  401:  402:  403:  404:  405:  406:  407:  408:  409:  410:  411:  412:  413:  414:  415:  416:  417:  418:  419:  420:  421:  422:  423:  424:  425:  426:  427:  428:  429:  430:  431:  432:  433:  434:  435:  436:  437:  438:  439:  440:  441:  442:  443:  444:  445:  446:  447:  448:  449:  450:  451:  452:  453:  454:  455:  456:  457:  458:  459:  460:  461:  462:  463:  464:  465:  466:  467:  468:  469:  470:  471:  472:  473:  474:  475:  476:  477:  478:  479:  480:  481:  482:  483:  484:  485:  486:  487:  488:  489:  490:  491:  492:  493:  494:  495:  496:  497:  498:  499:  500:  501:  502:  503:  504:  505:  506:  507:  508:  509:  510:  511:  512:  513:  514:  515:  516:  517:  518:  519:  520:  521:  522:  523:  524:  525:  526:  527:  528:  529:  530:  531:  532:  533:  534:  535:  536:  537:  538:  539:  540:  541:  542:  543:  544:  545:  546:  547:  548:  549:  550:  551:  552:  553:  554:  555:  556:  557:  558:  559:  560:  561:  562:  563:  564:  565:  566:  567:  568:  569:  570:  571:  572:  573:  574:  575:  576:  577:  578:  579:  580:  581:  582:  583:  584:  585:  586:  587:  588:  589:  590:  591:  592:  593:  594:  595:  596:  597:  598:  599:  600:  601:  602:  603:  604:  605:  606:  607:  608:  609:  610:  611:  612:  613:  614:  615:  616:  617:  618:  619:  620:  621:  622:  623:  624:  625:  626:  627:  628:  629:  630:  631:  632:  633:  634:  635:  636:  637:  638:  639:  640:  641:  642:  643:  644:  645:  646:  647:  648:  649:  650:  651:  652:  653:  654:  655:  656:  657:  658:  659:  660:  661:  662:  663:  664:  665:  666:  667:  668:  669:  670:  671:  672:  673:  674:  675:  676:  677:  678:  679:  680:  681:  682:  683:  684:  685:  686:  687:  688:  689:  690:  691:  692:  693:  694:  695:  696:  697:  698:  699:  700:  701:  702:  703:  704:  705:  706:  707:  708:  709:  710:  711:  712:  713:  714:  715:  716:  717:  718:  719:  720:  721:  722:  723:  724:  725:  726:  727:  728:  729:  730:  731:  732:  733:  734:  735:  736:  737:  738:  739:  740:  741:  742:  743:  744:  745:  746:  747:  748:  749:  750:  751:  752:  753:  754:  755:  756:  757:  758:  759:  760:  761:  762:  763:  764:  765:  766:  767:  768:  769:  770:  771:  772:  773:  774:  775:  776:  777:  778:  779:  780:  781:  782:  783:  784:  785:  786:  787:  788:  789:  790:  791:  792:  793:  794:  795:  796:  797:  798:  799:  800:  801:  802:  803:  804:  805:  806:  807:  808:  809:  810:  811:  812:  813:  814:  815:  816:  817:  818:  819:  820:  821:  822:  823:  824:  825:  826:  827:  828:  829:  830:  831:  832:  833:  834:  835:  836:  837:  838:  839:  840:  841:  842:  843:  844:  845:  846:  847:  848:  849:  850:  851:  852:  853:  854:  855:  856:  857:  858:  859:  860:  861:  862:  863:  864:  865:  866:  867:  868:  869:  870:  871:  872:  873:  874:  875:  876:  877:  878:  879:  880:  881:  882:  883:  884:  885:  886:  887:  888:  889:  890:  891:  892:  893:  894:  895:  896:  897:  898:  899:  900:  901:  902:  903:  904:  905:  906:  907:  908:  909:  910:  911:  912:  913:  914:  915:  916:  917:  918:  919:  920:  921:  922:  923:  924:  925:  926:  927:  928:  929:  930:  931:  932:  933:  934:  935:  936:  937:  938:  939:  940:  941:  942:  943:  944:  945:  946:  947:  948:  949:  950:  951:  952:  953:  954:  955:  956:  957:  958:  959:  960:  961:  962:  963:  964:  965:  966:  967:  968:  969:  970:  971:  972:  973:  974:  975:  976:  977:  978:  979:  980:  981:  982:  983:  984:  985:  986:  987:  988:  989:  990:  991:  992:  993:  994:  995:  996:  997:  998:  999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: 1009: 1010: 1011: 1012: 1013: 1014: 1015: 1016: 1017: 1018: 1019: 1020: 1021: 1022: 1023: 1024: 1025: 1026: 1027: 1028: 1029: 1030: 1031: 1032: 1033: 1034: 1035: 1036: 1037: 1038: 1039: 1040: 1041: 1042: 1043: 1044: 1045: 1046: 1047: 1048: 1049: 1050: 1051: 1052: 1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060: 1061: 1062: 1063: 1064: 1065: 1066: 1067: 1068: 1069: 1070: 1071: 1072: 1073: 1074: 1075: 1076: 1077: 1078: 1079: 1080: 1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089: 1090: 1091: 1092: 1093: 1094: 1095: 1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103: 1104: 1105: 1106: 1107: 1108: 1109: 1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122: 1123: 1124: 1125: 1126: 1127: 1128: 1129: 1130: 1131: 1132: 1133: 1134: 1135: 1136: 1137: 1138: 1139: 1140: 1141: 1142: 1143: 1144: 1145: 1146: 1147: 1148: 1149: 1150: 1151: 1152: 1153: 1154: 1155: 1156: 1157: 1158: 1159: 1160: 1161: 1162: 1163: 1164: 1165: 1166: 1167: 1168: 1169: 1170: 1171: 1172: 1173: 1174: 1175: 1176: 1177: 1178: 1179: 1180: 1181: 1182: 1183: 1184: 1185: 1186: 1187: 1188: 1189: 1190: 1191: 1192: 1193: 1194: 1195: 1196: 1197: 1198: 1199: 
<?php
 
 /**
@@ -134,1082 +134,1128 @@
     }
 
     /**
-     * Gets specified user's profile through API calling.
+     * Get basic information about bot.
      *
-     * @param string $userId The user ID to retrieve profile.
-     * @return Response
-     */
-    public function getProfile($userId)
-    {
-        return $this->httpClient->get($this->endpointBase . '/v2/bot/profile/' . urlencode($userId));
-    }
-
-    /**
-     * Gets message content which is associated with specified message ID.
-     *
-     * @param string $messageId The message ID to retrieve content.
-     * @return Response
-     */
-    public function getMessageContent($messageId)
-    {
-        $url = $this->dataEndpointBase . '/v2/bot/message/' . urlencode($messageId) . '/content';
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Gets the target limit for additional messages in the current month.
-     *
-     * @return Response
-     */
-    public function getNumberOfLimitForAdditional()
-    {
-        return $this->httpClient->get($this->endpointBase . '/v2/bot/message/quota');
+     * @return Response
+     */
+    public function getBotInfo()
+    {
+        return $this->httpClient->get($this->endpointBase . '/v2/bot/info');
+    }
+
+    /**
+     * Gets specified user's profile through API calling.
+     *
+     * @param string $userId The user ID to retrieve profile.
+     * @return Response
+     */
+    public function getProfile($userId)
+    {
+        return $this->httpClient->get($this->endpointBase . '/v2/bot/profile/' . urlencode($userId));
+    }
+
+    /**
+     * Gets message content which is associated with specified message ID.
+     *
+     * @param string $messageId The message ID to retrieve content.
+     * @return Response
+     */
+    public function getMessageContent($messageId)
+    {
+        $url = $this->dataEndpointBase . '/v2/bot/message/' . urlencode($messageId) . '/content';
+        return $this->httpClient->get($url);
     }
 
     /**
-     * Gets the number of messages sent in the current month.
+     * Gets the target limit for additional messages in the current month.
      *
      * @return Response
      */
-    public function getNumberOfSentThisMonth()
+    public function getNumberOfLimitForAdditional()
     {
-        return $this->httpClient->get($this->endpointBase . '/v2/bot/message/quota/consumption');
+        return $this->httpClient->get($this->endpointBase . '/v2/bot/message/quota');
     }
 
     /**
-     * Replies arbitrary message to destination which is associated with reply token.
+     * Gets the number of messages sent in the current month.
      *
-     * @param string $replyToken Identifier of destination.
-     * @param MessageBuilder $messageBuilder Message builder to send.
-     * @return Response
-     */
-    public function replyMessage($replyToken, MessageBuilder $messageBuilder)
-    {
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/reply', [
-            'replyToken' => $replyToken,
-            'messages' => $messageBuilder->buildMessage(),
-        ]);
-    }
-
-    /**
-     * Replies text message(s) to destination which is associated with reply token.
-     *
-     * This method receives variable texts. It can send text(s) message as bulk.
-     *
-     * Exact signature of this method is <code>replyText(string $replyToken, string $text, string[] $extraTexts)</code>.
-     *
-     * Means, this method can also receive multiple texts like so;
-     *
-     * <code>
-     * $bot->replyText('reply-text', 'text', 'extra text1', 'extra text2', ...)
-     * </code>
+     * @return Response
+     */
+    public function getNumberOfSentThisMonth()
+    {
+        return $this->httpClient->get($this->endpointBase . '/v2/bot/message/quota/consumption');
+    }
+
+    /**
+     * Replies arbitrary message to destination which is associated with reply token.
+     *
+     * @param string $replyToken Identifier of destination.
+     * @param MessageBuilder $messageBuilder Message builder to send.
+     * @return Response
+     */
+    public function replyMessage($replyToken, MessageBuilder $messageBuilder)
+    {
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/reply', [
+            'replyToken' => $replyToken,
+            'messages' => $messageBuilder->buildMessage(),
+        ]);
+    }
+
+    /**
+     * Replies text message(s) to destination which is associated with reply token.
      *
-     * @param string $replyToken Identifier of destination.
-     * @param string $text Text of message.
-     * @param string[]|null $extraTexts Extra text of message.
-     * @return Response
-     * @throws \ReflectionException
-     */
-    public function replyText($replyToken, $text, $extraTexts = null)
-    {
-        $extra = [];
-        if (!is_null($extraTexts)) {
-            $args = func_get_args();
-            $extra = array_slice($args, 2);
-        }
-
-        /** @var TextMessageBuilder $textMessageBuilder */
-        $ref = new ReflectionClass('LINE\LINEBot\MessageBuilder\TextMessageBuilder');
-        $textMessageBuilder = $ref->newInstanceArgs(array_merge([$text], $extra));
-
-        return $this->replyMessage($replyToken, $textMessageBuilder);
-    }
-
-    /**
-     * Sends arbitrary message to destination.
-     *
-     * @param string $to Identifier of destination.
-     * @param MessageBuilder $messageBuilder Message builder to send.
-     * @param boolean $notificationDisabled Don't send push notifications(=true) or send(=false)
-     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
-     * @return Response
-     */
-    public function pushMessage($to, MessageBuilder $messageBuilder, $notificationDisabled = false, $retryKey = null)
-    {
-        $headers = ['Content-Type: application/json; charset=utf-8'];
-        if (isset($retryKey)) {
-            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
-        }
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/push', [
-            'to' => $to,
-            'messages' => $messageBuilder->buildMessage(),
-            'notificationDisabled' => $notificationDisabled,
-        ], $headers);
-    }
-
-    /**
-     * Sends arbitrary message to multi destinations.
-     *
-     * @param array $tos Identifiers of destination.
-     * @param MessageBuilder $messageBuilder Message builder to send.
-     * @param boolean $notificationDisabled Don't send push notifications(=true) or send(=false)
-     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
-     * @return Response
-     */
-    public function multicast(
-        array $tos,
-        MessageBuilder $messageBuilder,
-        $notificationDisabled = false,
-        $retryKey = null
-    ) {
-        $headers = ['Content-Type: application/json; charset=utf-8'];
-        if (isset($retryKey)) {
-            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
-        }
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/multicast', [
-            'to' => $tos,
-            'messages' => $messageBuilder->buildMessage(),
-            'notificationDisabled' => $notificationDisabled,
-        ], $headers);
-    }
-
-    /**
-     * Sends push messages to multiple users at any time.
-     * LINE@ accounts cannot call this API endpoint. Please migrate it to a LINE official account.
-     *
-     * @param MessageBuilder $messageBuilder Message builder to send.
-     * @param boolean $notificationDisabled Don't send push notifications(=true) or send(=false)
-     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
-     * @return Response
-     */
-    public function broadcast(MessageBuilder $messageBuilder, $notificationDisabled = false, $retryKey = null)
-    {
-        $headers = ['Content-Type: application/json; charset=utf-8'];
-        if (isset($retryKey)) {
-            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
-        }
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/broadcast', [
-            'messages' => $messageBuilder->buildMessage(),
-            'notificationDisabled' => $notificationDisabled,
-        ], $headers);
-    }
-
-    /**
-     * Leaves from group.
-     *
-     * @param string $groupId Identifier of group to leave.
-     * @return Response
-     */
-    public function leaveGroup($groupId)
-    {
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/group/' . urlencode($groupId) . '/leave', []);
-    }
-
-    /**
-     * Leaves from room.
-     *
-     * @param string $roomId Identifier of room to leave.
-     * @return Response
-     */
-    public function leaveRoom($roomId)
-    {
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/room/' . urlencode($roomId) . '/leave', []);
-    }
-
-    /**
-     * Parse event request to Event objects.
-     *
-     * @param string $body Request body.
-     * @param string $signature Signature of request.
-     * @param bool $eventOnly if this flag on, get events only.
-     * @return mixed
-     * @throws LINEBot\Exception\InvalidEventRequestException
-     * @throws LINEBot\Exception\InvalidSignatureException
-     */
-    public function parseEventRequest($body, $signature, $eventOnly = true)
-    {
-        return EventRequestParser::parseEventRequest($body, $this->channelSecret, $signature, $eventOnly);
-    }
-
-    /**
-     * Validate request with signature.
-     *
-     * @param string $body Request body.
-     * @param string $signature Signature of request.
-     * @return bool Request is valid or not.
-     * @throws LINEBot\Exception\InvalidSignatureException
-     */
-    public function validateSignature($body, $signature)
-    {
-        return SignatureValidator::validateSignature($body, $this->channelSecret, $signature);
-    }
-
-    /**
-     * Gets the user profile of a member of a group that the bot is in.
-     * This can be the user ID of a user who has not added the bot as a friend or has blocked the bot.
-     *
-     * @param string $groupId Identifier of the group
-     * @param string $userId Identifier of the user
-     * @return Response
-     */
-    public function getGroupMemberProfile($groupId, $userId)
-    {
-        $url = sprintf('%s/v2/bot/group/%s/member/%s', $this->endpointBase, urlencode($groupId), urlencode($userId));
-        return $this->httpClient->get($url, []);
-    }
-
-    /**
-     * Gets the user profile of a member of a room that the bot is in.
-     * This can be the user ID of a user who has not added the bot as a friend or has blocked the bot.
-     *
-     * @param string $roomId Identifier of the room
-     * @param string $userId Identifier of the user
-     * @return Response
-     */
-    public function getRoomMemberProfile($roomId, $userId)
-    {
-        $url = sprintf('%s/v2/bot/room/%s/member/%s', $this->endpointBase, urlencode($roomId), urlencode($userId));
-        return $this->httpClient->get($url, []);
-    }
-
-    /**
-     * Gets the user IDs of the members of a group that the bot is in.
-     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
-     *
-     * This feature is only available for LINE@ Approved accounts or official accounts.
-     *
-     * @param string $groupId Identifier of the group
-     * @param string $start continuationToken
-     * @return Response
-     */
-    public function getGroupMemberIds($groupId, $start = null)
-    {
-        $url = sprintf('%s/v2/bot/group/%s/members/ids', $this->endpointBase, urlencode($groupId));
-        $params = is_null($start) ? [] : ['start' => $start];
-        return $this->httpClient->get($url, $params);
-    }
-
-    /**
-     * Gets the user IDs of the members of a room that the bot is in.
-     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
-     *
-     * This feature is only available for LINE@ Approved accounts or official accounts.
-     *
-     * @param string $roomId Identifier of the room
-     * @param string $start continuationToken
-     * @return Response
-     */
-    public function getRoomMemberIds($roomId, $start = null)
-    {
-        $url = sprintf('%s/v2/bot/room/%s/members/ids', $this->endpointBase, urlencode($roomId));
-        $params = is_null($start) ? [] : ['start' => $start];
-        return $this->httpClient->get($url, $params);
-    }
-
-    /**
-     * Gets the user IDs of the members of a group that the bot is in.
-     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
-     * This method gets all of the members by calling getGroupMemberIds() continually using token
-     *
-     * This feature is only available for LINE@ Approved accounts or official accounts.
-     *
-     * @param string $groupId Identifier of the group
-     * @return array memberIds
-     * @see \LINE\LINEBot::getGroupMemberIds()
-     */
-    public function getAllGroupMemberIds($groupId)
-    {
-        $memberIds = [];
-        $continuationToken = null;
-        do {
-            $response = $this->getGroupMemberIds($groupId, $continuationToken);
-            $data = $response->getJSONDecodedBody();
-            $memberIds = array_merge($memberIds, $data['memberIds']);
-            $continuationToken = isset($data['next']) ? $data['next'] : null;
-        } while ($continuationToken);
-
-        return $memberIds;
-    }
-
-    /**
-     * Gets the user IDs of the members of a room that the bot is in.
-     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
-     * This method gets all of the members by calling getRoomMemberIds() continually using token
-     *
-     * This feature is only available for LINE@ Approved accounts or official accounts.
-     *
-     * @param string $roomId Identifier of the room
-     * @return array memberIds
-     * @see \LINE\LINEBot::getRoomMemberIds()
-     */
-    public function getAllRoomMemberIds($roomId)
-    {
-        $memberIds = [];
-        $continuationToken = null;
-        do {
-            $response = $this->getRoomMemberIds($roomId, $continuationToken);
-            $data = $response->getJSONDecodedBody();
-            $memberIds = array_merge($memberIds, $data['memberIds']);
-            $continuationToken = isset($data['next']) ? $data['next'] : null;
-        } while ($continuationToken);
-
-        return $memberIds;
-    }
-
-    /**
-     * Get group summary
-     *
-     * Gets the group ID, group name, and group icon URL of a group where the LINE Official Account is a member.
-     *
-     * @param string $groupId Group ID
-     * @return Response
-     */
-    public function getGroupSummary($groupId)
-    {
-        $url = sprintf('%s/v2/bot/group/%s/summary', $this->endpointBase, urlencode($groupId));
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Gets the count of members in a group
-     *
-     * The number returned excludes the LINE Official Account.
-     *
-     * @param string $groupId Group ID
-     * @return Response
-     */
-    public function getGroupMembersCount($groupId)
-    {
-        $url = sprintf('%s/v2/bot/group/%s/members/count', $this->endpointBase, urlencode($groupId));
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Gets the count of members in a room
-     *
-     * The number returned excludes the LINE Official Account.
-     *
-     * @param string $roomId Room ID
-     * @return Response
-     */
-    public function getRoomMembersCount($roomId)
-    {
-        $url = sprintf('%s/v2/bot/room/%s/members/count', $this->endpointBase, urlencode($roomId));
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Issues a link token used for the account link feature.
-     *
-     * @param string $userId User ID for the LINE account to be linked.
-     * @return Response
-     */
-    public function createLinkToken($userId)
-    {
-        $url = sprintf('%s/v2/bot/user/%s/linkToken', $this->endpointBase, urlencode($userId));
-        return $this->httpClient->post($url, []);
-    }
-
-    /**
-     * Gets a rich menu via a rich menu ID.
-     *
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @return Response
-     */
-    public function getRichMenu($richMenuId)
-    {
-        $url = sprintf('%s/v2/bot/richmenu/%s', $this->endpointBase, urlencode($richMenuId));
-        return $this->httpClient->get($url, []);
-    }
-
-    /**
-     * Creates a rich menu.
-     *
-     * You must upload a rich menu image and link the rich menu to a user for the rich menu to be displayed.
-     *
-     * @param RichMenuBuilder $richMenuBuilder
-     * @return Response
-     */
-    public function createRichMenu($richMenuBuilder)
-    {
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/richmenu', $richMenuBuilder->build());
-    }
-
-    /**
-     * Deletes a rich menu.
-     *
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @return Response
-     */
-    public function deleteRichMenu($richMenuId)
-    {
-        $url = sprintf('%s/v2/bot/richmenu/%s', $this->endpointBase, urlencode($richMenuId));
-        return $this->httpClient->delete($url);
-    }
-
-    /**
-     * Set the default rich menu.
-     *
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @return Response
-     */
-    public function setDefaultRichMenuId($richMenuId)
-    {
-        $url = sprintf('%s/v2/bot/user/all/richmenu/%s', $this->endpointBase, urlencode($richMenuId));
-        return $this->httpClient->post($url, []);
-    }
-
-    /**
-     * Get the default rich menu ID.
-     *
-     * @return Response
-     */
-    public function getDefaultRichMenuId()
-    {
-        $url = $this->endpointBase . '/v2/bot/user/all/richmenu';
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Cancel the default rich menu.
-     *
-     * @return Response
-     */
-    public function cancelDefaultRichMenuId()
-    {
-        $url = $this->endpointBase . '/v2/bot/user/all/richmenu';
-        return $this->httpClient->delete($url);
-    }
-
-    /**
-     * Gets the ID of the rich menu linked to a user.
-     *
-     * @param string $userId User ID. Found in the source object of webhook event objects.
-     * @return Response
-     */
-    public function getRichMenuId($userId)
-    {
-        $url = sprintf('%s/v2/bot/user/%s/richmenu', $this->endpointBase, urlencode($userId));
-        return $this->httpClient->get($url, []);
-    }
-
-    /**
-     * Links a rich menu to a user. Only one rich menu can be linked to a user at one time.
-     *
-     * @param string $userId User ID. Found in the source object of webhook event objects.
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @return Response
-     */
-    public function linkRichMenu($userId, $richMenuId)
-    {
-        $url = sprintf(
-            '%s/v2/bot/user/%s/richmenu/%s',
-            $this->endpointBase,
-            urlencode($userId),
-            urlencode($richMenuId)
-        );
-        return $this->httpClient->post($url, []);
-    }
-
-    /**
-     * Links a rich menu to multiple users.
-     *
-     * @param string[] $userIds Found in the source object of webhook event objects. Max: 150 user IDs.
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @return Response
-     */
-    public function bulkLinkRichMenu($userIds, $richMenuId)
-    {
-        $url = $this->endpointBase . '/v2/bot/richmenu/bulk/link';
-        return $this->httpClient->post($url, [
-            'richMenuId' => $richMenuId,
-            'userIds' => $userIds
-        ]);
-    }
-
-    /**
-     * Unlinks a rich menu from multiple user.
-     *
-     * @param string $userId User ID. Found in the source object of webhook event objects.
-     * @return Response
-     */
-    public function unlinkRichMenu($userId)
-    {
-        $url = sprintf('%s/v2/bot/user/%s/richmenu', $this->endpointBase, urlencode($userId));
-        return $this->httpClient->delete($url);
-    }
-
-    /**
-     * Unlinks rich menus from multiple users.
-     *
-     * @param string[] $userIds Found in the source object of webhook event objects. Max: 150 user IDs.
-     * @return Response
-     */
-    public function bulkUnlinkRichMenu($userIds)
-    {
-        $url = $this->endpointBase . '/v2/bot/richmenu/bulk/unlink';
-        return $this->httpClient->post($url, [
-            'userIds' => $userIds
-        ]);
-    }
-
-    /**
-     * Downloads an image associated with a rich menu.
-     *
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @return Response
-     */
-    public function downloadRichMenuImage($richMenuId)
-    {
-        $url = sprintf('%s/v2/bot/richmenu/%s/content', $this->dataEndpointBase, urlencode($richMenuId));
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Uploads and attaches an image to a rich menu.
-     *
-     * Notes:
-     * <ul><li>Images must have one of the following resolutions: 2500x1686 or 2500x843 pixels.</li>
-     * <li>You cannot replace an image attached to a rich menu. To update your rich menu image,
-     * create a new rich menu object and upload another image.</li></ul>
-     *
-     * @param string $richMenuId ID of an uploaded rich menu
-     * @param string $imagePath Path to the image
-     * @param string $contentType image/jpeg or image/png
-     * @return Response
-     */
-    public function uploadRichMenuImage($richMenuId, $imagePath, $contentType)
-    {
-        $url = sprintf('%s/v2/bot/richmenu/%s/content', $this->dataEndpointBase, urlencode($richMenuId));
-        return $this->httpClient->post(
-            $url,
-            [
-                '__file' => $imagePath,
-                '__type' => $contentType,
-            ],
-            [ "Content-Type: $contentType" ]
-        );
-    }
-
-    /**
-     * Gets a list of all uploaded rich menus.
-     *
-     * @return Response
-     */
-    public function getRichMenuList()
-    {
-        return $this->httpClient->get($this->endpointBase . '/v2/bot/richmenu/list');
+     * This method receives variable texts. It can send text(s) message as bulk.
+     *
+     * Exact signature of this method is <code>replyText(string $replyToken, string $text, string[] $extraTexts)</code>.
+     *
+     * Means, this method can also receive multiple texts like so;
+     *
+     * <code>
+     * $bot->replyText('reply-text', 'text', 'extra text1', 'extra text2', ...)
+     * </code>
+     *
+     * @param string $replyToken Identifier of destination.
+     * @param string $text Text of message.
+     * @param string[]|null $extraTexts Extra text of message.
+     * @return Response
+     * @throws \ReflectionException
+     */
+    public function replyText($replyToken, $text, $extraTexts = null)
+    {
+        $extra = [];
+        if (!is_null($extraTexts)) {
+            $args = func_get_args();
+            $extra = array_slice($args, 2);
+        }
+
+        /** @var TextMessageBuilder $textMessageBuilder */
+        $ref = new ReflectionClass('LINE\LINEBot\MessageBuilder\TextMessageBuilder');
+        $textMessageBuilder = $ref->newInstanceArgs(array_merge([$text], $extra));
+
+        return $this->replyMessage($replyToken, $textMessageBuilder);
+    }
+
+    /**
+     * Sends arbitrary message to destination.
+     *
+     * @param string $to Identifier of destination.
+     * @param MessageBuilder $messageBuilder Message builder to send.
+     * @param boolean $notificationDisabled Don't send push notifications(=true) or send(=false)
+     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
+     * @return Response
+     */
+    public function pushMessage($to, MessageBuilder $messageBuilder, $notificationDisabled = false, $retryKey = null)
+    {
+        $headers = ['Content-Type: application/json; charset=utf-8'];
+        if (isset($retryKey)) {
+            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
+        }
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/push', [
+            'to' => $to,
+            'messages' => $messageBuilder->buildMessage(),
+            'notificationDisabled' => $notificationDisabled,
+        ], $headers);
+    }
+
+    /**
+     * Sends arbitrary message to multi destinations.
+     *
+     * @param array $tos Identifiers of destination.
+     * @param MessageBuilder $messageBuilder Message builder to send.
+     * @param boolean $notificationDisabled Don't send push notifications(=true) or send(=false)
+     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
+     * @return Response
+     */
+    public function multicast(
+        array $tos,
+        MessageBuilder $messageBuilder,
+        $notificationDisabled = false,
+        $retryKey = null
+    ) {
+        $headers = ['Content-Type: application/json; charset=utf-8'];
+        if (isset($retryKey)) {
+            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
+        }
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/multicast', [
+            'to' => $tos,
+            'messages' => $messageBuilder->buildMessage(),
+            'notificationDisabled' => $notificationDisabled,
+        ], $headers);
+    }
+
+    /**
+     * Sends push messages to multiple users at any time.
+     * LINE@ accounts cannot call this API endpoint. Please migrate it to a LINE official account.
+     *
+     * @param MessageBuilder $messageBuilder Message builder to send.
+     * @param boolean $notificationDisabled Don't send push notifications(=true) or send(=false)
+     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
+     * @return Response
+     */
+    public function broadcast(MessageBuilder $messageBuilder, $notificationDisabled = false, $retryKey = null)
+    {
+        $headers = ['Content-Type: application/json; charset=utf-8'];
+        if (isset($retryKey)) {
+            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
+        }
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/broadcast', [
+            'messages' => $messageBuilder->buildMessage(),
+            'notificationDisabled' => $notificationDisabled,
+        ], $headers);
+    }
+
+    /**
+     * Leaves from group.
+     *
+     * @param string $groupId Identifier of group to leave.
+     * @return Response
+     */
+    public function leaveGroup($groupId)
+    {
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/group/' . urlencode($groupId) . '/leave', []);
+    }
+
+    /**
+     * Leaves from room.
+     *
+     * @param string $roomId Identifier of room to leave.
+     * @return Response
+     */
+    public function leaveRoom($roomId)
+    {
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/room/' . urlencode($roomId) . '/leave', []);
+    }
+
+    /**
+     * Parse event request to Event objects.
+     *
+     * @param string $body Request body.
+     * @param string $signature Signature of request.
+     * @param bool $eventOnly if this flag on, get events only.
+     * @return mixed
+     * @throws LINEBot\Exception\InvalidEventRequestException
+     * @throws LINEBot\Exception\InvalidSignatureException
+     */
+    public function parseEventRequest($body, $signature, $eventOnly = true)
+    {
+        return EventRequestParser::parseEventRequest($body, $this->channelSecret, $signature, $eventOnly);
+    }
+
+    /**
+     * Validate request with signature.
+     *
+     * @param string $body Request body.
+     * @param string $signature Signature of request.
+     * @return bool Request is valid or not.
+     * @throws LINEBot\Exception\InvalidSignatureException
+     */
+    public function validateSignature($body, $signature)
+    {
+        return SignatureValidator::validateSignature($body, $this->channelSecret, $signature);
+    }
+
+    /**
+     * Gets the user profile of a member of a group that the bot is in.
+     * This can be the user ID of a user who has not added the bot as a friend or has blocked the bot.
+     *
+     * @param string $groupId Identifier of the group
+     * @param string $userId Identifier of the user
+     * @return Response
+     */
+    public function getGroupMemberProfile($groupId, $userId)
+    {
+        $url = sprintf('%s/v2/bot/group/%s/member/%s', $this->endpointBase, urlencode($groupId), urlencode($userId));
+        return $this->httpClient->get($url, []);
+    }
+
+    /**
+     * Gets the user profile of a member of a room that the bot is in.
+     * This can be the user ID of a user who has not added the bot as a friend or has blocked the bot.
+     *
+     * @param string $roomId Identifier of the room
+     * @param string $userId Identifier of the user
+     * @return Response
+     */
+    public function getRoomMemberProfile($roomId, $userId)
+    {
+        $url = sprintf('%s/v2/bot/room/%s/member/%s', $this->endpointBase, urlencode($roomId), urlencode($userId));
+        return $this->httpClient->get($url, []);
+    }
+
+    /**
+     * Gets the user IDs of the members of a group that the bot is in.
+     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
+     *
+     * This feature is only available for LINE@ Approved accounts or official accounts.
+     *
+     * @param string $groupId Identifier of the group
+     * @param string $start continuationToken
+     * @return Response
+     */
+    public function getGroupMemberIds($groupId, $start = null)
+    {
+        $url = sprintf('%s/v2/bot/group/%s/members/ids', $this->endpointBase, urlencode($groupId));
+        $params = is_null($start) ? [] : ['start' => $start];
+        return $this->httpClient->get($url, $params);
+    }
+
+    /**
+     * Gets the user IDs of the members of a room that the bot is in.
+     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
+     *
+     * This feature is only available for LINE@ Approved accounts or official accounts.
+     *
+     * @param string $roomId Identifier of the room
+     * @param string $start continuationToken
+     * @return Response
+     */
+    public function getRoomMemberIds($roomId, $start = null)
+    {
+        $url = sprintf('%s/v2/bot/room/%s/members/ids', $this->endpointBase, urlencode($roomId));
+        $params = is_null($start) ? [] : ['start' => $start];
+        return $this->httpClient->get($url, $params);
+    }
+
+    /**
+     * Gets the user IDs of the members of a group that the bot is in.
+     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
+     * This method gets all of the members by calling getGroupMemberIds() continually using token
+     *
+     * This feature is only available for LINE@ Approved accounts or official accounts.
+     *
+     * @param string $groupId Identifier of the group
+     * @return array memberIds
+     * @see \LINE\LINEBot::getGroupMemberIds()
+     */
+    public function getAllGroupMemberIds($groupId)
+    {
+        $memberIds = [];
+        $continuationToken = null;
+        do {
+            $response = $this->getGroupMemberIds($groupId, $continuationToken);
+            $data = $response->getJSONDecodedBody();
+            $memberIds = array_merge($memberIds, $data['memberIds']);
+            $continuationToken = isset($data['next']) ? $data['next'] : null;
+        } while ($continuationToken);
+
+        return $memberIds;
+    }
+
+    /**
+     * Gets the user IDs of the members of a room that the bot is in.
+     * This includes the user IDs of users who have not added the bot as a friend or has blocked the bot.
+     * This method gets all of the members by calling getRoomMemberIds() continually using token
+     *
+     * This feature is only available for LINE@ Approved accounts or official accounts.
+     *
+     * @param string $roomId Identifier of the room
+     * @return array memberIds
+     * @see \LINE\LINEBot::getRoomMemberIds()
+     */
+    public function getAllRoomMemberIds($roomId)
+    {
+        $memberIds = [];
+        $continuationToken = null;
+        do {
+            $response = $this->getRoomMemberIds($roomId, $continuationToken);
+            $data = $response->getJSONDecodedBody();
+            $memberIds = array_merge($memberIds, $data['memberIds']);
+            $continuationToken = isset($data['next']) ? $data['next'] : null;
+        } while ($continuationToken);
+
+        return $memberIds;
+    }
+
+    /**
+     * Get group summary
+     *
+     * Gets the group ID, group name, and group icon URL of a group where the LINE Official Account is a member.
+     *
+     * @param string $groupId Group ID
+     * @return Response
+     */
+    public function getGroupSummary($groupId)
+    {
+        $url = sprintf('%s/v2/bot/group/%s/summary', $this->endpointBase, urlencode($groupId));
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Gets the count of members in a group
+     *
+     * The number returned excludes the LINE Official Account.
+     *
+     * @param string $groupId Group ID
+     * @return Response
+     */
+    public function getGroupMembersCount($groupId)
+    {
+        $url = sprintf('%s/v2/bot/group/%s/members/count', $this->endpointBase, urlencode($groupId));
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Gets the count of members in a room
+     *
+     * The number returned excludes the LINE Official Account.
+     *
+     * @param string $roomId Room ID
+     * @return Response
+     */
+    public function getRoomMembersCount($roomId)
+    {
+        $url = sprintf('%s/v2/bot/room/%s/members/count', $this->endpointBase, urlencode($roomId));
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Issues a link token used for the account link feature.
+     *
+     * @param string $userId User ID for the LINE account to be linked.
+     * @return Response
+     */
+    public function createLinkToken($userId)
+    {
+        $url = sprintf('%s/v2/bot/user/%s/linkToken', $this->endpointBase, urlencode($userId));
+        return $this->httpClient->post($url, []);
+    }
+
+    /**
+     * Gets a rich menu via a rich menu ID.
+     *
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @return Response
+     */
+    public function getRichMenu($richMenuId)
+    {
+        $url = sprintf('%s/v2/bot/richmenu/%s', $this->endpointBase, urlencode($richMenuId));
+        return $this->httpClient->get($url, []);
+    }
+
+    /**
+     * Creates a rich menu.
+     *
+     * You must upload a rich menu image and link the rich menu to a user for the rich menu to be displayed.
+     *
+     * @param RichMenuBuilder $richMenuBuilder
+     * @return Response
+     */
+    public function createRichMenu($richMenuBuilder)
+    {
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/richmenu', $richMenuBuilder->build());
+    }
+
+    /**
+     * Deletes a rich menu.
+     *
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @return Response
+     */
+    public function deleteRichMenu($richMenuId)
+    {
+        $url = sprintf('%s/v2/bot/richmenu/%s', $this->endpointBase, urlencode($richMenuId));
+        return $this->httpClient->delete($url);
+    }
+
+    /**
+     * Set the default rich menu.
+     *
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @return Response
+     */
+    public function setDefaultRichMenuId($richMenuId)
+    {
+        $url = sprintf('%s/v2/bot/user/all/richmenu/%s', $this->endpointBase, urlencode($richMenuId));
+        return $this->httpClient->post($url, []);
+    }
+
+    /**
+     * Get the default rich menu ID.
+     *
+     * @return Response
+     */
+    public function getDefaultRichMenuId()
+    {
+        $url = $this->endpointBase . '/v2/bot/user/all/richmenu';
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Cancel the default rich menu.
+     *
+     * @return Response
+     */
+    public function cancelDefaultRichMenuId()
+    {
+        $url = $this->endpointBase . '/v2/bot/user/all/richmenu';
+        return $this->httpClient->delete($url);
+    }
+
+    /**
+     * Gets the ID of the rich menu linked to a user.
+     *
+     * @param string $userId User ID. Found in the source object of webhook event objects.
+     * @return Response
+     */
+    public function getRichMenuId($userId)
+    {
+        $url = sprintf('%s/v2/bot/user/%s/richmenu', $this->endpointBase, urlencode($userId));
+        return $this->httpClient->get($url, []);
+    }
+
+    /**
+     * Links a rich menu to a user. Only one rich menu can be linked to a user at one time.
+     *
+     * @param string $userId User ID. Found in the source object of webhook event objects.
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @return Response
+     */
+    public function linkRichMenu($userId, $richMenuId)
+    {
+        $url = sprintf(
+            '%s/v2/bot/user/%s/richmenu/%s',
+            $this->endpointBase,
+            urlencode($userId),
+            urlencode($richMenuId)
+        );
+        return $this->httpClient->post($url, []);
+    }
+
+    /**
+     * Links a rich menu to multiple users.
+     *
+     * @param string[] $userIds Found in the source object of webhook event objects. Max: 150 user IDs.
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @return Response
+     */
+    public function bulkLinkRichMenu($userIds, $richMenuId)
+    {
+        $url = $this->endpointBase . '/v2/bot/richmenu/bulk/link';
+        return $this->httpClient->post($url, [
+            'richMenuId' => $richMenuId,
+            'userIds' => $userIds
+        ]);
+    }
+
+    /**
+     * Unlinks a rich menu from multiple user.
+     *
+     * @param string $userId User ID. Found in the source object of webhook event objects.
+     * @return Response
+     */
+    public function unlinkRichMenu($userId)
+    {
+        $url = sprintf('%s/v2/bot/user/%s/richmenu', $this->endpointBase, urlencode($userId));
+        return $this->httpClient->delete($url);
+    }
+
+    /**
+     * Unlinks rich menus from multiple users.
+     *
+     * @param string[] $userIds Found in the source object of webhook event objects. Max: 150 user IDs.
+     * @return Response
+     */
+    public function bulkUnlinkRichMenu($userIds)
+    {
+        $url = $this->endpointBase . '/v2/bot/richmenu/bulk/unlink';
+        return $this->httpClient->post($url, [
+            'userIds' => $userIds
+        ]);
+    }
+
+    /**
+     * Downloads an image associated with a rich menu.
+     *
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @return Response
+     */
+    public function downloadRichMenuImage($richMenuId)
+    {
+        $url = sprintf('%s/v2/bot/richmenu/%s/content', $this->dataEndpointBase, urlencode($richMenuId));
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Uploads and attaches an image to a rich menu.
+     *
+     * Notes:
+     * <ul><li>Images must have one of the following resolutions: 2500x1686 or 2500x843 pixels.</li>
+     * <li>You cannot replace an image attached to a rich menu. To update your rich menu image,
+     * create a new rich menu object and upload another image.</li></ul>
+     *
+     * @param string $richMenuId ID of an uploaded rich menu
+     * @param string $imagePath Path to the image
+     * @param string $contentType image/jpeg or image/png
+     * @return Response
+     */
+    public function uploadRichMenuImage($richMenuId, $imagePath, $contentType)
+    {
+        $url = sprintf('%s/v2/bot/richmenu/%s/content', $this->dataEndpointBase, urlencode($richMenuId));
+        return $this->httpClient->post(
+            $url,
+            [
+                '__file' => $imagePath,
+                '__type' => $contentType,
+            ],
+            [ "Content-Type: $contentType" ]
+        );
     }
 
     /**
-     * Get number of sent reply messages
+     * Gets a list of all uploaded rich menus.
      *
-     * @param DateTime $datetime Date the messages were sent.
-     * @return Response
-     */
-    public function getNumberOfSentReplyMessages(DateTime $datetime)
-    {
-        $url = $this->endpointBase . '/v2/bot/message/delivery/reply';
-        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
-        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
-    }
-
-    /**
-     * Get number of sent push messages
-     *
-     * @param DateTime $datetime Date the messages were sent.
-     * @return Response
-     */
-    public function getNumberOfSentPushMessages(DateTime $datetime)
-    {
-        $url = $this->endpointBase . '/v2/bot/message/delivery/push';
-        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
-        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
-    }
-
-    /**
-     * Get number of sent multicast messages
-     *
-     * @param DateTime $datetime Date the messages were sent.
-     * @return Response
-     */
-    public function getNumberOfSentMulticastMessages(DateTime $datetime)
-    {
-        $url = $this->endpointBase . '/v2/bot/message/delivery/multicast';
-        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
-        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
-    }
-
-    /**
-     * Get number of sent broadcast messages
-     *
-     * @param DateTime $datetime Date the messages were sent.
-     * @return Response
-     */
-    public function getNumberOfSentBroadcastMessages(DateTime $datetime)
-    {
-        $url = $this->endpointBase . '/v2/bot/message/delivery/broadcast';
-        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
-        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
-    }
-
-    /**
-     * Get number of message deliveries
-     *
-     * @param DateTime $datetime Date for which to retrieve number of sent messages.
-     * @return Response
-     */
-    public function getNumberOfMessageDeliveries(DateTime $datetime)
-    {
-        $url = $this->endpointBase . '/v2/bot/insight/message/delivery';
-        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
-        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
-    }
-
-    /**
-     * Get number of followers
-     *
-     * @param DateTime $datetime Date for which to retrieve the number of followers.
-     * @return Response
-     */
-    public function getNumberOfFollowers(DateTime $datetime)
-    {
-        $url = $this->endpointBase . '/v2/bot/insight/followers';
-        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
-        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
-    }
-
-    /**
-     * Get friend demographics
-     *
-     * It can take up to 3 days for demographic information to be calculated.
-     * This means the information the API returns may be 3 days old.
-     * Furthermore, your Target reach number must be at least 20 to retrieve demographic information.
-     *
-     * @return Response
-     */
-    public function getFriendDemographics()
-    {
-        $url = $this->endpointBase . '/v2/bot/insight/demographic';
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Get user interaction statistics
-     *
-     * Returns statistics about how users interact with broadcast messages sent from your LINE official account.
-     * Interactions are tracked for only 14 days after a message was sent.
-     * The statistics are no longer updated after 15 days.
-     *
-     * @param string $requestId Request ID of broadcast message.
-     * @return Response
-     */
-    public function getUserInteractionStatistics($requestId)
-    {
-        $url = $this->endpointBase . '/v2/bot/insight/message/event';
-        return $this->httpClient->get($url, ['requestId' => $requestId]);
-    }
-
-    /**
-     * Create channel access token
-     *
-     * Create a short-lived channel access token.
-     * Up to 30 tokens can be issued.
-     * If the maximum is exceeded,
-     * existing channel access tokens are revoked in the order of when they were first issued.
-     *
-     * @param string $channelId
-     * @return Response
-     */
-    public function createChannelAccessToken($channelId)
-    {
-        $url = $this->endpointBase . '/v2/oauth/accessToken';
-        return $this->httpClient->post(
-            $url,
-            [
-                'grant_type' => 'client_credentials',
-                'client_id' => $channelId,
-                'client_secret' => $this->channelSecret,
-            ],
-            ['Content-Type: application/x-www-form-urlencoded']
-        );
-    }
-    
-    /**
-     * Revoke channel access token
-     *
-     * Revokes a channel access token.
-     *
-     * @param string $channelAccessToken
-     * @return Response
-     */
-    public function revokeChannelAccessToken($channelAccessToken)
-    {
-        $url = $this->endpointBase . '/v2/oauth/revoke';
-        return $this->httpClient->post(
-            $url,
-            ['access_token' => $channelAccessToken],
-            ['Content-Type: application/x-www-form-urlencoded']
-        );
-    }
-
-    /**
-     * Create channel access token v2.1
-     *
-     * You can issue up to 30 tokens.
-     * If you reach the maximum limit, additional requests of issuing channel access tokens are blocked.
-     *
-     * @see https://developers.line.biz/en/docs/messaging-api/generate-json-web-token/#generate_jwt
-     * @param string $jwt
-     * @return Response
-     */
-    public function createChannelAccessToken21($jwt)
-    {
-        $url = $this->endpointBase . '/oauth2/v2.1/token';
-        return $this->httpClient->post(
-            $url,
-            [
-                'grant_type' => 'client_credentials',
-                'client_assertion_type' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer',
-                'client_assertion' => $jwt,
-            ],
-            ['Content-Type: application/x-www-form-urlencoded']
-        );
-    }
-
-    /**
-     * Revoke channel access token v2.1
-     *
-     * @param string $channelId
-     * @param string $channelSecret
-     * @param string $channelAccessToken
-     * @return Response
-     */
-    public function revokeChannelAccessToken21($channelId, $channelSecret, $channelAccessToken)
-    {
-        $url = $this->endpointBase . '/oauth2/v2.1/revoke';
-        return $this->httpClient->post(
-            $url,
-            [
-                'client_id' => $channelId,
-                'client_secret' => $channelSecret,
-                'access_token' => $channelAccessToken,
-            ],
-            ['Content-Type: application/x-www-form-urlencoded']
-        );
-    }
-
-    /**
-     * Get all valid channel access token key IDs v2.1
-     *
-     * @param string $jwt
-     * @return Response
-     */
-    public function getChannelAccessToken21Keys($jwt)
-    {
-        $url = $this->endpointBase . '/oauth2/v2.1/tokens/kid';
-        return $this->httpClient->get(
-            $url,
-            [
-                'client_assertion_type' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer',
-                'client_assertion' => $jwt,
-            ]
-        );
-    }
-
-    /**
-     * Send Narrowcast message.
-     *
-     * @param MessageBuilder $messageBuilder
-     * @param RecipientBuilder|null $recipientBuilder
-     * @param DemographicFilterBuilder|null $demographicFilterBuilder
-     * @param int|null $limit
-     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
-     * @return Response
-     */
-    public function sendNarrowcast(
-        MessageBuilder $messageBuilder,
-        RecipientBuilder $recipientBuilder = null,
-        DemographicFilterBuilder $demographicFilterBuilder = null,
-        $max = null,
-        $retryKey = null,
-        $upToRemainingQuota = false
-    ) {
-        $params = [
-            'messages' => $messageBuilder->buildMessage()
-        ];
-        if (isset($recipientBuilder)) {
-            $params['recipient'] = $recipientBuilder->build();
-        }
-        if (isset($demographicFilterBuilder)) {
-            $params['filter'] = [
-                'demographic' => $demographicFilterBuilder->build(),
-            ];
-        }
-
-        $params['limit'] = [
-            'upToRemainingQuota' => $upToRemainingQuota,
-        ];
-        if (isset($max)) {
-            $params['limit']['max'] = $max;
-        }
-        $headers = ['Content-Type: application/json; charset=utf-8'];
-        if (isset($retryKey)) {
-            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
-        }
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/narrowcast', $params, $headers);
-    }
-
-    /**
-     * Get Narrowcast message sending progress.
-     *
-     * @param string $requestId
-     * @return Response
-     */
-    public function getNarrowcastProgress($requestId)
-    {
-        $url = $this->endpointBase . '/v2/bot/message/progress/narrowcast';
-        return $this->httpClient->get($url, ['requestId' => $requestId]);
-    }
-
-    /**
-     * Create audience for uploading user IDs
-     *
-     * @param string $description The audience's name. Max character limit: 120
-     * @param array $audiences An array of up to 10,000 user IDs or IFAs.
-     * @param bool $isIfaAudience If this is false (default), recipients are specified by user IDs.
-     * @param string|null $uploadDescription The description to register with the job.
-     * @return Response
-     */
-    public function createAudienceGroupForUploadingUserIds(
-        $description,
-        $audiences = [],
-        $isIfaAudience = false,
-        $uploadDescription = null
-    ) {
-        $params = [
-            'description' => $description,
-            'isIfaAudience' => $isIfaAudience,
-        ];
-        if (!empty($audiences)) {
-            $params['audiences'] = $audiences;
-        }
-        if (isset($uploadDescription)) {
-            $params['uploadDescription'] = $uploadDescription;
-        }
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/audienceGroup/upload', $params);
-    }
-
-    /**
-     * Create audience for uploading user IDs (by file)
-     *
-     * @param string $description The audience's name. Max character limit: 120
-     * @param string $filePath A text file path with one user ID or IFA entered per line. Max number: 1,500,000
-     * @param bool $isIfaAudience If this is false (default), recipients are specified by user IDs.
-     * @param string|null $uploadDescription The description to register with the job.
-     * @return Response
-     */
-    public function createAudienceGroupForUploadingUserIdsByFile(
-        $description,
-        $filePath,
-        $isIfaAudience = false,
-        $uploadDescription = null
-    ) {
-        $params = [
-            'description' => $description,
-            'isIfaAudience' => $isIfaAudience,
-            'file' => new CURLFile($filePath, 'text/plain', 'file'),
-        ];
-        if (isset($uploadDescription)) {
-            $params['uploadDescription'] = $uploadDescription;
-        }
-        $url = $this->dataEndpointBase . '/v2/bot/audienceGroup/upload/byFile';
-        $headers = ['Content-Type: multipart/form-data'];
-        return $this->httpClient->post($url, $params, $headers);
-    }
-
-    /**
-     * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs
-     *
-     * @param int $audienceGroupId The audience ID.
-     * @param array $audiences An array of up to 10,000 user IDs or IFAs.
-     * @param string|null $uploadDescription The description to register with the job.
-     * @return Response
-     */
-    public function updateAudienceGroupForUploadingUserIds(
-        $audienceGroupId,
-        $audiences,
-        $uploadDescription = null
-    ) {
-        $params = [
-            'audienceGroupId' => $audienceGroupId,
-            'audiences' => $audiences,
-        ];
-        if (isset($uploadDescription)) {
-            $params['uploadDescription'] = $uploadDescription;
-        }
-        return $this->httpClient->put($this->endpointBase . '/v2/bot/audienceGroup/upload', $params);
-    }
-
-    /**
-     * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file)
-     *
-     * @param int $audienceGroupId The audience ID.
-     * @param string $filePath A text file path with one user ID or IFA entered per line. Max number: 1,500,000
-     * @param string|null $uploadDescription The description to register with the job.
-     * @return Response
-     */
-    public function updateAudienceGroupForUploadingUserIdsByFile(
-        $audienceGroupId,
-        $filePath,
-        $uploadDescription = null
-    ) {
-        $params = [
-            'audienceGroupId' => $audienceGroupId,
-            'file' => new CURLFile($filePath, 'text/plain', 'file'),
-        ];
-        if (isset($uploadDescription)) {
-            $params['uploadDescription'] = $uploadDescription;
-        }
-        $url = $this->dataEndpointBase . '/v2/bot/audienceGroup/upload/byFile';
-        $headers = ['Content-Type: multipart/form-data'];
-        return $this->httpClient->put($url, $params, $headers);
-    }
-
-    /**
-     * Create audience for click-based retargeting
-     *
-     * @param string $description The audience's name. Max character limit: 120
-     * @param string $requestId The request ID of a broadcast or narrowcast message sent in the past 60 days.
-     * @param string|null $clickUrl The URL clicked by the user. Max character limit: 2,000
-     * @return Response
-     */
-    public function createAudienceGroupForClick($description, $requestId, $clickUrl = null)
-    {
-        $params = [
-            'description' => $description,
-            'requestId' => $requestId,
-        ];
-        if (isset($clickUrl)) {
-            $params['clickUrl'] = $clickUrl;
-        }
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/audienceGroup/click', $params);
-    }
-
-    /**
-     * Create audience for impression-based retargeting
-     *
-     * @param string $description The audience's name. Max character limit: 120
-     * @param string $requestId The request ID of a broadcast or narrowcast message sent in the past 60 days.
-     * @return Response
-     */
-    public function createAudienceGroupForImpression($description, $requestId)
-    {
-        return $this->httpClient->post($this->endpointBase . '/v2/bot/audienceGroup/imp', [
-            'description' => $description,
-            'requestId' => $requestId,
-        ]);
-    }
-
-    /**
-     * Rename an audience
-     *
-     * @param int $audienceGroupId The audience ID.
-     * @param string $description The audience's name. Max character limit: 120
-     * @return Response
-     */
-    public function renameAudience($audienceGroupId, $description)
-    {
-        $url = sprintf($this->endpointBase . '/v2/bot/audienceGroup/%s/updateDescription', urlencode($audienceGroupId));
-        return $this->httpClient->put($url, ['description' => $description]);
-    }
-
-    /**
-     * Delete audience
-     *
-     * @param int $audienceGroupId The audience ID.
-     * @return Response
-     */
-    public function deleteAudience($audienceGroupId)
-    {
-        $url = sprintf($this->endpointBase . '/v2/bot/audienceGroup/%s', urlencode($audienceGroupId));
-        return $this->httpClient->delete($url);
-    }
-
-    /**
-     * Get audience
-     *
-     * @param int $audienceGroupId The audience ID.
-     * @return Response
-     */
-    public function getAudience($audienceGroupId)
-    {
-        $url = sprintf($this->endpointBase . '/v2/bot/audienceGroup/%s', urlencode($audienceGroupId));
-        return $this->httpClient->get($url);
-    }
-
-    /**
-     * Get data for multiple audiences
-     *
-     * @param int $page The page to return when getting (paginated) results. Must be 1 or higher.
-     * @param int $size The number of audiences per page. Max: 40
-     * @param string|null $description You can search for partial matches.
-     * @param string|null $status One of: IN_PROGRESS, READY, FAILED, EXPIRED
-     * @param boolean|null $includesExternalPublicGroups
-     * @param string|null $createRoute How the audience was created. One of: OA_MANAGER, MESSAGING_API
-     * @return Response
-     */
-    public function getAudiences(
-        $page,
-        $size = 20,
-        $description = null,
-        $status = null,
-        $includesExternalPublicGroups = null,
-        $createRoute = null
-    ) {
-        $params = [
-            'page' => $page,
-            'size' => $size,
-        ];
-        if (isset($description)) {
-            $params['description'] = $description;
-        }
-        if (isset($status)) {
-            $params['status'] = $status;
-        }
-        if (isset($includesExternalPublicGroups)) {
-            $params['includesExternalPublicGroups'] = $includesExternalPublicGroups;
-        }
-        if (isset($createRoute)) {
-            $params['createRoute'] = $createRoute;
-        }
-        return $this->httpClient->get($this->endpointBase . '/v2/bot/audienceGroup/list', $params);
-    }
-
-    /**
-     * Get the authority level of the audience
-     *
-     * @return Response
-     */
-    public function getAuthorityLevel()
-    {
-        return $this->httpClient->get($this->endpointBase . '/v2/bot/audienceGroup/authorityLevel');
+     * @return Response
+     */
+    public function getRichMenuList()
+    {
+        return $this->httpClient->get($this->endpointBase . '/v2/bot/richmenu/list');
+    }
+
+    /**
+     * Get number of sent reply messages
+     *
+     * @param DateTime $datetime Date the messages were sent.
+     * @return Response
+     */
+    public function getNumberOfSentReplyMessages(DateTime $datetime)
+    {
+        $url = $this->endpointBase . '/v2/bot/message/delivery/reply';
+        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
+        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
+    }
+
+    /**
+     * Get number of sent push messages
+     *
+     * @param DateTime $datetime Date the messages were sent.
+     * @return Response
+     */
+    public function getNumberOfSentPushMessages(DateTime $datetime)
+    {
+        $url = $this->endpointBase . '/v2/bot/message/delivery/push';
+        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
+        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
+    }
+
+    /**
+     * Get number of sent multicast messages
+     *
+     * @param DateTime $datetime Date the messages were sent.
+     * @return Response
+     */
+    public function getNumberOfSentMulticastMessages(DateTime $datetime)
+    {
+        $url = $this->endpointBase . '/v2/bot/message/delivery/multicast';
+        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
+        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
+    }
+
+    /**
+     * Get number of sent broadcast messages
+     *
+     * @param DateTime $datetime Date the messages were sent.
+     * @return Response
+     */
+    public function getNumberOfSentBroadcastMessages(DateTime $datetime)
+    {
+        $url = $this->endpointBase . '/v2/bot/message/delivery/broadcast';
+        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
+        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
+    }
+
+    /**
+     * Get number of message deliveries
+     *
+     * @param DateTime $datetime Date for which to retrieve number of sent messages.
+     * @return Response
+     */
+    public function getNumberOfMessageDeliveries(DateTime $datetime)
+    {
+        $url = $this->endpointBase . '/v2/bot/insight/message/delivery';
+        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
+        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
+    }
+
+    /**
+     * Get number of followers
+     *
+     * @param DateTime $datetime Date for which to retrieve the number of followers.
+     * @return Response
+     */
+    public function getNumberOfFollowers(DateTime $datetime)
+    {
+        $url = $this->endpointBase . '/v2/bot/insight/followers';
+        $datetime->setTimezone(new DateTimeZone('Asia/Tokyo'));
+        return $this->httpClient->get($url, ['date' => $datetime->format('Ymd')]);
+    }
+
+    /**
+     * Get friend demographics
+     *
+     * It can take up to 3 days for demographic information to be calculated.
+     * This means the information the API returns may be 3 days old.
+     * Furthermore, your Target reach number must be at least 20 to retrieve demographic information.
+     *
+     * @return Response
+     */
+    public function getFriendDemographics()
+    {
+        $url = $this->endpointBase . '/v2/bot/insight/demographic';
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Get user interaction statistics
+     *
+     * Returns statistics about how users interact with broadcast messages sent from your LINE official account.
+     * Interactions are tracked for only 14 days after a message was sent.
+     * The statistics are no longer updated after 15 days.
+     *
+     * @param string $requestId Request ID of broadcast message.
+     * @return Response
+     */
+    public function getUserInteractionStatistics($requestId)
+    {
+        $url = $this->endpointBase . '/v2/bot/insight/message/event';
+        return $this->httpClient->get($url, ['requestId' => $requestId]);
+    }
+
+    /**
+     * Create channel access token
+     *
+     * Create a short-lived channel access token.
+     * Up to 30 tokens can be issued.
+     * If the maximum is exceeded,
+     * existing channel access tokens are revoked in the order of when they were first issued.
+     *
+     * @param string $channelId
+     * @return Response
+     */
+    public function createChannelAccessToken($channelId)
+    {
+        $url = $this->endpointBase . '/v2/oauth/accessToken';
+        return $this->httpClient->post(
+            $url,
+            [
+                'grant_type' => 'client_credentials',
+                'client_id' => $channelId,
+                'client_secret' => $this->channelSecret,
+            ],
+            ['Content-Type: application/x-www-form-urlencoded']
+        );
+    }
+
+    /**
+     * Revoke channel access token
+     *
+     * Revokes a channel access token.
+     *
+     * @param string $channelAccessToken
+     * @return Response
+     */
+    public function revokeChannelAccessToken($channelAccessToken)
+    {
+        $url = $this->endpointBase . '/v2/oauth/revoke';
+        return $this->httpClient->post(
+            $url,
+            ['access_token' => $channelAccessToken],
+            ['Content-Type: application/x-www-form-urlencoded']
+        );
+    }
+
+    /**
+     * Create channel access token v2.1
+     *
+     * You can issue up to 30 tokens.
+     * If you reach the maximum limit, additional requests of issuing channel access tokens are blocked.
+     *
+     * @see https://developers.line.biz/en/docs/messaging-api/generate-json-web-token/#generate_jwt
+     * @param string $jwt
+     * @return Response
+     */
+    public function createChannelAccessToken21($jwt)
+    {
+        $url = $this->endpointBase . '/oauth2/v2.1/token';
+        return $this->httpClient->post(
+            $url,
+            [
+                'grant_type' => 'client_credentials',
+                'client_assertion_type' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer',
+                'client_assertion' => $jwt,
+            ],
+            ['Content-Type: application/x-www-form-urlencoded']
+        );
+    }
+
+    /**
+     * Revoke channel access token v2.1
+     *
+     * @param string $channelId
+     * @param string $channelSecret
+     * @param string $channelAccessToken
+     * @return Response
+     */
+    public function revokeChannelAccessToken21($channelId, $channelSecret, $channelAccessToken)
+    {
+        $url = $this->endpointBase . '/oauth2/v2.1/revoke';
+        return $this->httpClient->post(
+            $url,
+            [
+                'client_id' => $channelId,
+                'client_secret' => $channelSecret,
+                'access_token' => $channelAccessToken,
+            ],
+            ['Content-Type: application/x-www-form-urlencoded']
+        );
+    }
+
+    /**
+     * Get all valid channel access token key IDs v2.1
+     *
+     * @param string $jwt
+     * @return Response
+     */
+    public function getChannelAccessToken21Keys($jwt)
+    {
+        $url = $this->endpointBase . '/oauth2/v2.1/tokens/kid';
+        return $this->httpClient->get(
+            $url,
+            [
+                'client_assertion_type' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer',
+                'client_assertion' => $jwt,
+            ]
+        );
+    }
+
+    /**
+     * Send Narrowcast message.
+     *
+     * @param MessageBuilder $messageBuilder
+     * @param RecipientBuilder|null $recipientBuilder
+     * @param DemographicFilterBuilder|null $demographicFilterBuilder
+     * @param int|null $limit
+     * @param string|null $retryKey UUID(example: 123e4567-e89b-12d3-a456-426614174000) or Not needed retry(=null)
+     * @return Response
+     */
+    public function sendNarrowcast(
+        MessageBuilder $messageBuilder,
+        RecipientBuilder $recipientBuilder = null,
+        DemographicFilterBuilder $demographicFilterBuilder = null,
+        $max = null,
+        $retryKey = null,
+        $upToRemainingQuota = false
+    ) {
+        $params = [
+            'messages' => $messageBuilder->buildMessage()
+        ];
+        if (isset($recipientBuilder)) {
+            $params['recipient'] = $recipientBuilder->build();
+        }
+        if (isset($demographicFilterBuilder)) {
+            $params['filter'] = [
+                'demographic' => $demographicFilterBuilder->build(),
+            ];
+        }
+
+        $params['limit'] = [
+            'upToRemainingQuota' => $upToRemainingQuota,
+        ];
+        if (isset($max)) {
+            $params['limit']['max'] = $max;
+        }
+        $headers = ['Content-Type: application/json; charset=utf-8'];
+        if (isset($retryKey)) {
+            $headers[] = HTTPHeader::LINE_RETRY_KEY . ': ' .$retryKey;
+        }
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/message/narrowcast', $params, $headers);
+    }
+
+    /**
+     * Get Narrowcast message sending progress.
+     *
+     * @param string $requestId
+     * @return Response
+     */
+    public function getNarrowcastProgress($requestId)
+    {
+        $url = $this->endpointBase . '/v2/bot/message/progress/narrowcast';
+        return $this->httpClient->get($url, ['requestId' => $requestId]);
+    }
+
+    /**
+     * Create audience for uploading user IDs
+     *
+     * @param string $description The audience's name. Max character limit: 120
+     * @param array $audiences An array of up to 10,000 user IDs or IFAs.
+     * @param bool $isIfaAudience If this is false (default), recipients are specified by user IDs.
+     * @param string|null $uploadDescription The description to register with the job.
+     * @return Response
+     */
+    public function createAudienceGroupForUploadingUserIds(
+        $description,
+        $audiences = [],
+        $isIfaAudience = false,
+        $uploadDescription = null
+    ) {
+        $params = [
+            'description' => $description,
+            'isIfaAudience' => $isIfaAudience,
+        ];
+        if (!empty($audiences)) {
+            $params['audiences'] = $audiences;
+        }
+        if (isset($uploadDescription)) {
+            $params['uploadDescription'] = $uploadDescription;
+        }
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/audienceGroup/upload', $params);
+    }
+
+    /**
+     * Create audience for uploading user IDs (by file)
+     *
+     * @param string $description The audience's name. Max character limit: 120
+     * @param string $filePath A text file path with one user ID or IFA entered per line. Max number: 1,500,000
+     * @param bool $isIfaAudience If this is false (default), recipients are specified by user IDs.
+     * @param string|null $uploadDescription The description to register with the job.
+     * @return Response
+     */
+    public function createAudienceGroupForUploadingUserIdsByFile(
+        $description,
+        $filePath,
+        $isIfaAudience = false,
+        $uploadDescription = null
+    ) {
+        $params = [
+            'description' => $description,
+            'isIfaAudience' => $isIfaAudience,
+            'file' => new CURLFile($filePath, 'text/plain', 'file'),
+        ];
+        if (isset($uploadDescription)) {
+            $params['uploadDescription'] = $uploadDescription;
+        }
+        $url = $this->dataEndpointBase . '/v2/bot/audienceGroup/upload/byFile';
+        $headers = ['Content-Type: multipart/form-data'];
+        return $this->httpClient->post($url, $params, $headers);
+    }
+
+    /**
+     * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs
+     *
+     * @param int $audienceGroupId The audience ID.
+     * @param array $audiences An array of up to 10,000 user IDs or IFAs.
+     * @param string|null $uploadDescription The description to register with the job.
+     * @return Response
+     */
+    public function updateAudienceGroupForUploadingUserIds(
+        $audienceGroupId,
+        $audiences,
+        $uploadDescription = null
+    ) {
+        $params = [
+            'audienceGroupId' => $audienceGroupId,
+            'audiences' => $audiences,
+        ];
+        if (isset($uploadDescription)) {
+            $params['uploadDescription'] = $uploadDescription;
+        }
+        return $this->httpClient->put($this->endpointBase . '/v2/bot/audienceGroup/upload', $params);
+    }
+
+    /**
+     * Add user IDs or Identifiers for Advertisers (IFAs) to an audience for uploading user IDs (by file)
+     *
+     * @param int $audienceGroupId The audience ID.
+     * @param string $filePath A text file path with one user ID or IFA entered per line. Max number: 1,500,000
+     * @param string|null $uploadDescription The description to register with the job.
+     * @return Response
+     */
+    public function updateAudienceGroupForUploadingUserIdsByFile(
+        $audienceGroupId,
+        $filePath,
+        $uploadDescription = null
+    ) {
+        $params = [
+            'audienceGroupId' => $audienceGroupId,
+            'file' => new CURLFile($filePath, 'text/plain', 'file'),
+        ];
+        if (isset($uploadDescription)) {
+            $params['uploadDescription'] = $uploadDescription;
+        }
+        $url = $this->dataEndpointBase . '/v2/bot/audienceGroup/upload/byFile';
+        $headers = ['Content-Type: multipart/form-data'];
+        return $this->httpClient->put($url, $params, $headers);
+    }
+
+    /**
+     * Create audience for click-based retargeting
+     *
+     * @param string $description The audience's name. Max character limit: 120
+     * @param string $requestId The request ID of a broadcast or narrowcast message sent in the past 60 days.
+     * @param string|null $clickUrl The URL clicked by the user. Max character limit: 2,000
+     * @return Response
+     */
+    public function createAudienceGroupForClick($description, $requestId, $clickUrl = null)
+    {
+        $params = [
+            'description' => $description,
+            'requestId' => $requestId,
+        ];
+        if (isset($clickUrl)) {
+            $params['clickUrl'] = $clickUrl;
+        }
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/audienceGroup/click', $params);
+    }
+
+    /**
+     * Create audience for impression-based retargeting
+     *
+     * @param string $description The audience's name. Max character limit: 120
+     * @param string $requestId The request ID of a broadcast or narrowcast message sent in the past 60 days.
+     * @return Response
+     */
+    public function createAudienceGroupForImpression($description, $requestId)
+    {
+        return $this->httpClient->post($this->endpointBase . '/v2/bot/audienceGroup/imp', [
+            'description' => $description,
+            'requestId' => $requestId,
+        ]);
+    }
+
+    /**
+     * Rename an audience
+     *
+     * @param int $audienceGroupId The audience ID.
+     * @param string $description The audience's name. Max character limit: 120
+     * @return Response
+     */
+    public function renameAudience($audienceGroupId, $description)
+    {
+        $url = sprintf($this->endpointBase . '/v2/bot/audienceGroup/%s/updateDescription', urlencode($audienceGroupId));
+        return $this->httpClient->put($url, ['description' => $description]);
+    }
+
+    /**
+     * Delete audience
+     *
+     * @param int $audienceGroupId The audience ID.
+     * @return Response
+     */
+    public function deleteAudience($audienceGroupId)
+    {
+        $url = sprintf($this->endpointBase . '/v2/bot/audienceGroup/%s', urlencode($audienceGroupId));
+        return $this->httpClient->delete($url);
+    }
+
+    /**
+     * Get audience
+     *
+     * @param int $audienceGroupId The audience ID.
+     * @return Response
+     */
+    public function getAudience($audienceGroupId)
+    {
+        $url = sprintf($this->endpointBase . '/v2/bot/audienceGroup/%s', urlencode($audienceGroupId));
+        return $this->httpClient->get($url);
+    }
+
+    /**
+     * Get data for multiple audiences
+     *
+     * @param int $page The page to return when getting (paginated) results. Must be 1 or higher.
+     * @param int $size The number of audiences per page. Max: 40
+     * @param string|null $description You can search for partial matches.
+     * @param string|null $status One of: IN_PROGRESS, READY, FAILED, EXPIRED
+     * @param boolean|null $includesExternalPublicGroups
+     * @param string|null $createRoute How the audience was created. One of: OA_MANAGER, MESSAGING_API
+     * @return Response
+     */
+    public function getAudiences(
+        $page,
+        $size = 20,
+        $description = null,
+        $status = null,
+        $includesExternalPublicGroups = null,
+        $createRoute = null
+    ) {
+        $params = [
+            'page' => $page,
+            'size' => $size,
+        ];
+        if (isset($description)) {
+            $params['description'] = $description;
+        }
+        if (isset($status)) {
+            $params['status'] = $status;
+        }
+        if (isset($includesExternalPublicGroups)) {
+            $params['includesExternalPublicGroups'] = $includesExternalPublicGroups;
+        }
+        if (isset($createRoute)) {
+            $params['createRoute'] = $createRoute;
+        }
+        return $this->httpClient->get($this->endpointBase . '/v2/bot/audienceGroup/list', $params);
     }
 
     /**
-     * Change the authority level of the audience
+     * Get the authority level of the audience
      *
-     * @param string $authorityLevel One of: PUBLIC, PRIVATE
-     * @return Response
-     */
-    public function updateAuthorityLevel($authorityLevel)
-    {
-        return $this->httpClient->put($this->endpointBase . '/v2/bot/audienceGroup/authorityLevel', [
-            'authorityLevel' => $authorityLevel,
-        ]);
-    }
-}
-
+ * @return Response + */ + public function getAuthorityLevel() + { + return $this->httpClient->get($this->endpointBase . '/v2/bot/audienceGroup/authorityLevel'); + } + + /** + * Change the authority level of the audience + * + * @param string $authorityLevel One of: PUBLIC, PRIVATE + * @return Response + */ + public function updateAuthorityLevel($authorityLevel) + { + return $this->httpClient->put($this->endpointBase . '/v2/bot/audienceGroup/authorityLevel', [ + 'authorityLevel' => $authorityLevel, + ]); + } + + /** + * Get webhook endpoint information + * + * @return Response + */ + public function getWebhookEndpointInfo() + { + return $this->httpClient->get($this->endpointBase . '/v2/bot/channel/webhook/endpoint'); + } + + /** + * Set webhook endpoint URL + * + * @param string $endpoint + * @return Response + */ + public function setWebhookEndpoint($endpoint) + { + return $this->httpClient->put($this->endpointBase . '/v2/bot/channel/webhook/endpoint', [ + 'endpoint' => $endpoint, + ]); + } + + /** + * Checks if the configured webhook endpoint can receive a test webhook event + * + * @param string $endpoint + * @return Response + */ + public function testWebhookEndpoint($endpoint) + { + return $this->httpClient->post($this->endpointBase . '/v2/bot/channel/webhook/test', [ + 'endpoint' => $endpoint, + ]); + } +} +