line-bot-api 1.29.1 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +38 -8
  3. data/README.md +1 -1
  4. data/lib/line/bot/{api → v1/api}/errors.rb +2 -0
  5. data/lib/line/bot/{api → v1/api}/version.rb +3 -1
  6. data/lib/line/bot/{api.rb → v1/api.rb} +3 -1
  7. data/lib/line/bot/{client.rb → v1/client.rb} +563 -3
  8. data/lib/line/bot/{event → v1/event}/account_link.rb +4 -0
  9. data/lib/line/bot/{event → v1/event}/base.rb +6 -0
  10. data/lib/line/bot/{event → v1/event}/beacon.rb +4 -0
  11. data/lib/line/bot/{event → v1/event}/follow.rb +4 -0
  12. data/lib/line/bot/{event → v1/event}/join.rb +4 -0
  13. data/lib/line/bot/{event → v1/event}/leave.rb +4 -0
  14. data/lib/line/bot/{event → v1/event}/member_joined.rb +4 -0
  15. data/lib/line/bot/{event → v1/event}/member_left.rb +4 -0
  16. data/lib/line/bot/{event → v1/event}/message.rb +6 -0
  17. data/lib/line/bot/{event → v1/event}/postback.rb +4 -0
  18. data/lib/line/bot/{event → v1/event}/things.rb +6 -0
  19. data/lib/line/bot/{event → v1/event}/unfollow.rb +4 -0
  20. data/lib/line/bot/{event → v1/event}/unsend.rb +4 -0
  21. data/lib/line/bot/{event → v1/event}/video_play_complete.rb +4 -0
  22. data/lib/line/bot/{event.rb → v1/event.rb} +14 -14
  23. data/lib/line/bot/{httpclient.rb → v1/httpclient.rb} +22 -0
  24. data/lib/line/bot/{util.rb → v1/util.rb} +4 -0
  25. data/lib/line/bot/v2/channel_access_token/api/channel_access_token_client.rb +533 -0
  26. data/lib/line/bot/v2/channel_access_token/core.rb +20 -0
  27. data/lib/line/bot/v2/channel_access_token/model/channel_access_token_key_ids_response.rb +68 -0
  28. data/lib/line/bot/v2/channel_access_token/model/error_response.rb +73 -0
  29. data/lib/line/bot/v2/channel_access_token/model/issue_channel_access_token_response.rb +86 -0
  30. data/lib/line/bot/v2/channel_access_token/model/issue_short_lived_channel_access_token_response.rb +80 -0
  31. data/lib/line/bot/v2/channel_access_token/model/issue_stateless_channel_access_token_response.rb +80 -0
  32. data/lib/line/bot/v2/channel_access_token/model/verify_channel_access_token_response.rb +79 -0
  33. data/lib/line/bot/v2/http_client.rb +165 -0
  34. data/lib/line/bot/v2/insight/api/insight_client.rb +314 -0
  35. data/lib/line/bot/v2/insight/core.rb +32 -0
  36. data/lib/line/bot/v2/insight/model/age_tile.rb +72 -0
  37. data/lib/line/bot/v2/insight/model/app_type_tile.rb +72 -0
  38. data/lib/line/bot/v2/insight/model/area_tile.rb +72 -0
  39. data/lib/line/bot/v2/insight/model/error_detail.rb +72 -0
  40. data/lib/line/bot/v2/insight/model/error_response.rb +79 -0
  41. data/lib/line/bot/v2/insight/model/gender_tile.rb +72 -0
  42. data/lib/line/bot/v2/insight/model/get_friends_demographics_response.rb +128 -0
  43. data/lib/line/bot/v2/insight/model/get_message_event_response.rb +92 -0
  44. data/lib/line/bot/v2/insight/model/get_message_event_response_click.rb +90 -0
  45. data/lib/line/bot/v2/insight/model/get_message_event_response_message.rb +132 -0
  46. data/lib/line/bot/v2/insight/model/get_message_event_response_overview.rb +103 -0
  47. data/lib/line/bot/v2/insight/model/get_number_of_followers_response.rb +86 -0
  48. data/lib/line/bot/v2/insight/model/get_number_of_message_deliveries_response.rb +128 -0
  49. data/lib/line/bot/v2/insight/model/get_statistics_per_unit_response.rb +92 -0
  50. data/lib/line/bot/v2/insight/model/get_statistics_per_unit_response_click.rb +91 -0
  51. data/lib/line/bot/v2/insight/model/get_statistics_per_unit_response_message.rb +139 -0
  52. data/lib/line/bot/v2/insight/model/get_statistics_per_unit_response_overview.rb +86 -0
  53. data/lib/line/bot/v2/insight/model/subscription_period_tile.rb +72 -0
  54. data/lib/line/bot/v2/liff/api/liff_client.rb +273 -0
  55. data/lib/line/bot/v2/liff/core.rb +24 -0
  56. data/lib/line/bot/v2/liff/model/add_liff_app_request.rb +97 -0
  57. data/lib/line/bot/v2/liff/model/add_liff_app_response.rb +66 -0
  58. data/lib/line/bot/v2/liff/model/get_all_liff_apps_response.rb +72 -0
  59. data/lib/line/bot/v2/liff/model/liff_app.rb +102 -0
  60. data/lib/line/bot/v2/liff/model/liff_bot_prompt.rb +21 -0
  61. data/lib/line/bot/v2/liff/model/liff_features.rb +72 -0
  62. data/lib/line/bot/v2/liff/model/liff_scope.rb +21 -0
  63. data/lib/line/bot/v2/liff/model/liff_view.rb +79 -0
  64. data/lib/line/bot/v2/liff/model/update_liff_app_request.rb +97 -0
  65. data/lib/line/bot/v2/liff/model/update_liff_view.rb +79 -0
  66. data/lib/line/bot/v2/manage_audience/api/manage_audience_blob_client.rb +182 -0
  67. data/lib/line/bot/v2/manage_audience/api/manage_audience_client.rb +616 -0
  68. data/lib/line/bot/v2/manage_audience/core.rb +42 -0
  69. data/lib/line/bot/v2/manage_audience/model/adaccount.rb +67 -0
  70. data/lib/line/bot/v2/manage_audience/model/add_audience_to_audience_group_request.rb +86 -0
  71. data/lib/line/bot/v2/manage_audience/model/audience.rb +67 -0
  72. data/lib/line/bot/v2/manage_audience/model/audience_group.rb +133 -0
  73. data/lib/line/bot/v2/manage_audience/model/audience_group_create_route.rb +21 -0
  74. data/lib/line/bot/v2/manage_audience/model/audience_group_failed_type.rb +21 -0
  75. data/lib/line/bot/v2/manage_audience/model/audience_group_job.rb +110 -0
  76. data/lib/line/bot/v2/manage_audience/model/audience_group_job_failed_type.rb +21 -0
  77. data/lib/line/bot/v2/manage_audience/model/audience_group_job_status.rb +21 -0
  78. data/lib/line/bot/v2/manage_audience/model/audience_group_job_type.rb +21 -0
  79. data/lib/line/bot/v2/manage_audience/model/audience_group_permission.rb +21 -0
  80. data/lib/line/bot/v2/manage_audience/model/audience_group_status.rb +21 -0
  81. data/lib/line/bot/v2/manage_audience/model/audience_group_type.rb +21 -0
  82. data/lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb +92 -0
  83. data/lib/line/bot/v2/manage_audience/model/create_audience_group_response.rb +110 -0
  84. data/lib/line/bot/v2/manage_audience/model/create_click_based_audience_group_request.rb +80 -0
  85. data/lib/line/bot/v2/manage_audience/model/create_click_based_audience_group_response.rb +122 -0
  86. data/lib/line/bot/v2/manage_audience/model/create_imp_based_audience_group_request.rb +74 -0
  87. data/lib/line/bot/v2/manage_audience/model/create_imp_based_audience_group_response.rb +92 -0
  88. data/lib/line/bot/v2/manage_audience/model/detailed_owner.rb +79 -0
  89. data/lib/line/bot/v2/manage_audience/model/error_detail.rb +72 -0
  90. data/lib/line/bot/v2/manage_audience/model/error_response.rb +79 -0
  91. data/lib/line/bot/v2/manage_audience/model/get_audience_data_response.rb +86 -0
  92. data/lib/line/bot/v2/manage_audience/model/get_audience_groups_response.rb +104 -0
  93. data/lib/line/bot/v2/manage_audience/model/get_shared_audience_data_response.rb +86 -0
  94. data/lib/line/bot/v2/manage_audience/model/get_shared_audience_groups_response.rb +104 -0
  95. data/lib/line/bot/v2/manage_audience/model/update_audience_group_description_request.rb +68 -0
  96. data/lib/line/bot/v2/messaging_api/api/messaging_api_blob_client.rb +282 -0
  97. data/lib/line/bot/v2/messaging_api/api/messaging_api_client.rb +3354 -0
  98. data/lib/line/bot/v2/messaging_api/core.rb +173 -0
  99. data/lib/line/bot/v2/messaging_api/model/action.rb +92 -0
  100. data/lib/line/bot/v2/messaging_api/model/age_demographic.rb +20 -0
  101. data/lib/line/bot/v2/messaging_api/model/age_demographic_filter.rb +78 -0
  102. data/lib/line/bot/v2/messaging_api/model/all_mention_target.rb +67 -0
  103. data/lib/line/bot/v2/messaging_api/model/alt_uri.rb +66 -0
  104. data/lib/line/bot/v2/messaging_api/model/app_type_demographic.rb +20 -0
  105. data/lib/line/bot/v2/messaging_api/model/app_type_demographic_filter.rb +72 -0
  106. data/lib/line/bot/v2/messaging_api/model/area_demographic.rb +21 -0
  107. data/lib/line/bot/v2/messaging_api/model/area_demographic_filter.rb +72 -0
  108. data/lib/line/bot/v2/messaging_api/model/audience_recipient.rb +72 -0
  109. data/lib/line/bot/v2/messaging_api/model/audio_message.rb +91 -0
  110. data/lib/line/bot/v2/messaging_api/model/bot_info_response.rb +103 -0
  111. data/lib/line/bot/v2/messaging_api/model/broadcast_request.rb +79 -0
  112. data/lib/line/bot/v2/messaging_api/model/buttons_template.rb +120 -0
  113. data/lib/line/bot/v2/messaging_api/model/camera_action.rb +72 -0
  114. data/lib/line/bot/v2/messaging_api/model/camera_roll_action.rb +72 -0
  115. data/lib/line/bot/v2/messaging_api/model/carousel_column.rb +103 -0
  116. data/lib/line/bot/v2/messaging_api/model/carousel_template.rb +90 -0
  117. data/lib/line/bot/v2/messaging_api/model/chat_reference.rb +68 -0
  118. data/lib/line/bot/v2/messaging_api/model/clipboard_action.rb +79 -0
  119. data/lib/line/bot/v2/messaging_api/model/clipboard_imagemap_action.rb +85 -0
  120. data/lib/line/bot/v2/messaging_api/model/confirm_template.rb +84 -0
  121. data/lib/line/bot/v2/messaging_api/model/create_rich_menu_alias_request.rb +73 -0
  122. data/lib/line/bot/v2/messaging_api/model/datetime_picker_action.rb +103 -0
  123. data/lib/line/bot/v2/messaging_api/model/demographic_filter.rb +82 -0
  124. data/lib/line/bot/v2/messaging_api/model/emoji.rb +78 -0
  125. data/lib/line/bot/v2/messaging_api/model/emoji_substitution_object.rb +80 -0
  126. data/lib/line/bot/v2/messaging_api/model/error_detail.rb +72 -0
  127. data/lib/line/bot/v2/messaging_api/model/error_response.rb +91 -0
  128. data/lib/line/bot/v2/messaging_api/model/filter.rb +67 -0
  129. data/lib/line/bot/v2/messaging_api/model/flex_block_style.rb +78 -0
  130. data/lib/line/bot/v2/messaging_api/model/flex_box.rb +234 -0
  131. data/lib/line/bot/v2/messaging_api/model/flex_box_background.rb +76 -0
  132. data/lib/line/bot/v2/messaging_api/model/flex_box_border_width.rb +21 -0
  133. data/lib/line/bot/v2/messaging_api/model/flex_box_corner_radius.rb +21 -0
  134. data/lib/line/bot/v2/messaging_api/model/flex_box_linear_gradient.rb +96 -0
  135. data/lib/line/bot/v2/messaging_api/model/flex_box_padding.rb +21 -0
  136. data/lib/line/bot/v2/messaging_api/model/flex_box_spacing.rb +21 -0
  137. data/lib/line/bot/v2/messaging_api/model/flex_bubble.rb +114 -0
  138. data/lib/line/bot/v2/messaging_api/model/flex_bubble_styles.rb +84 -0
  139. data/lib/line/bot/v2/messaging_api/model/flex_button.rb +150 -0
  140. data/lib/line/bot/v2/messaging_api/model/flex_carousel.rb +78 -0
  141. data/lib/line/bot/v2/messaging_api/model/flex_component.rb +84 -0
  142. data/lib/line/bot/v2/messaging_api/model/flex_container.rb +77 -0
  143. data/lib/line/bot/v2/messaging_api/model/flex_filler.rb +72 -0
  144. data/lib/line/bot/v2/messaging_api/model/flex_icon.rb +127 -0
  145. data/lib/line/bot/v2/messaging_api/model/flex_icon_size.rb +21 -0
  146. data/lib/line/bot/v2/messaging_api/model/flex_image.rb +163 -0
  147. data/lib/line/bot/v2/messaging_api/model/flex_image_size.rb +21 -0
  148. data/lib/line/bot/v2/messaging_api/model/flex_margin.rb +21 -0
  149. data/lib/line/bot/v2/messaging_api/model/flex_message.rb +91 -0
  150. data/lib/line/bot/v2/messaging_api/model/flex_offset.rb +21 -0
  151. data/lib/line/bot/v2/messaging_api/model/flex_separator.rb +78 -0
  152. data/lib/line/bot/v2/messaging_api/model/flex_span.rb +102 -0
  153. data/lib/line/bot/v2/messaging_api/model/flex_span_size.rb +21 -0
  154. data/lib/line/bot/v2/messaging_api/model/flex_text.rb +204 -0
  155. data/lib/line/bot/v2/messaging_api/model/flex_text_font_size.rb +21 -0
  156. data/lib/line/bot/v2/messaging_api/model/flex_video.rb +96 -0
  157. data/lib/line/bot/v2/messaging_api/model/gender_demographic.rb +20 -0
  158. data/lib/line/bot/v2/messaging_api/model/gender_demographic_filter.rb +72 -0
  159. data/lib/line/bot/v2/messaging_api/model/get_aggregation_unit_name_list_response.rb +73 -0
  160. data/lib/line/bot/v2/messaging_api/model/get_aggregation_unit_usage_response.rb +67 -0
  161. data/lib/line/bot/v2/messaging_api/model/get_followers_response.rb +73 -0
  162. data/lib/line/bot/v2/messaging_api/model/get_joined_membership_users_response.rb +74 -0
  163. data/lib/line/bot/v2/messaging_api/model/get_membership_subscription_response.rb +74 -0
  164. data/lib/line/bot/v2/messaging_api/model/get_message_content_transcoding_response.rb +68 -0
  165. data/lib/line/bot/v2/messaging_api/model/get_webhook_endpoint_response.rb +73 -0
  166. data/lib/line/bot/v2/messaging_api/model/group_member_count_response.rb +67 -0
  167. data/lib/line/bot/v2/messaging_api/model/group_summary_response.rb +79 -0
  168. data/lib/line/bot/v2/messaging_api/model/group_user_profile_response.rb +79 -0
  169. data/lib/line/bot/v2/messaging_api/model/image_carousel_column.rb +72 -0
  170. data/lib/line/bot/v2/messaging_api/model/image_carousel_template.rb +78 -0
  171. data/lib/line/bot/v2/messaging_api/model/image_message.rb +91 -0
  172. data/lib/line/bot/v2/messaging_api/model/imagemap_action.rb +85 -0
  173. data/lib/line/bot/v2/messaging_api/model/imagemap_area.rb +84 -0
  174. data/lib/line/bot/v2/messaging_api/model/imagemap_base_size.rb +72 -0
  175. data/lib/line/bot/v2/messaging_api/model/imagemap_external_link.rb +72 -0
  176. data/lib/line/bot/v2/messaging_api/model/imagemap_message.rb +115 -0
  177. data/lib/line/bot/v2/messaging_api/model/imagemap_video.rb +84 -0
  178. data/lib/line/bot/v2/messaging_api/model/issue_link_token_response.rb +67 -0
  179. data/lib/line/bot/v2/messaging_api/model/limit.rb +74 -0
  180. data/lib/line/bot/v2/messaging_api/model/location_action.rb +72 -0
  181. data/lib/line/bot/v2/messaging_api/model/location_message.rb +103 -0
  182. data/lib/line/bot/v2/messaging_api/model/mark_messages_as_read_request.rb +67 -0
  183. data/lib/line/bot/v2/messaging_api/model/members_ids_response.rb +72 -0
  184. data/lib/line/bot/v2/messaging_api/model/membership.rb +120 -0
  185. data/lib/line/bot/v2/messaging_api/model/membership_list_response.rb +73 -0
  186. data/lib/line/bot/v2/messaging_api/model/mention_substitution_object.rb +74 -0
  187. data/lib/line/bot/v2/messaging_api/model/mention_target.rb +77 -0
  188. data/lib/line/bot/v2/messaging_api/model/message.rb +98 -0
  189. data/lib/line/bot/v2/messaging_api/model/message_action.rb +78 -0
  190. data/lib/line/bot/v2/messaging_api/model/message_imagemap_action.rb +84 -0
  191. data/lib/line/bot/v2/messaging_api/model/message_quota_response.rb +73 -0
  192. data/lib/line/bot/v2/messaging_api/model/multicast_request.rb +91 -0
  193. data/lib/line/bot/v2/messaging_api/model/narrowcast_progress_response.rb +109 -0
  194. data/lib/line/bot/v2/messaging_api/model/narrowcast_request.rb +97 -0
  195. data/lib/line/bot/v2/messaging_api/model/number_of_messages_response.rb +72 -0
  196. data/lib/line/bot/v2/messaging_api/model/operator_demographic_filter.rb +96 -0
  197. data/lib/line/bot/v2/messaging_api/model/operator_recipient.rb +96 -0
  198. data/lib/line/bot/v2/messaging_api/model/pnp_messages_request.rb +85 -0
  199. data/lib/line/bot/v2/messaging_api/model/postback_action.rb +102 -0
  200. data/lib/line/bot/v2/messaging_api/model/push_message_request.rb +91 -0
  201. data/lib/line/bot/v2/messaging_api/model/push_message_response.rb +73 -0
  202. data/lib/line/bot/v2/messaging_api/model/quick_reply.rb +74 -0
  203. data/lib/line/bot/v2/messaging_api/model/quick_reply_item.rb +79 -0
  204. data/lib/line/bot/v2/messaging_api/model/quota_consumption_response.rb +67 -0
  205. data/lib/line/bot/v2/messaging_api/model/quota_type.rb +22 -0
  206. data/lib/line/bot/v2/messaging_api/model/recipient.rb +79 -0
  207. data/lib/line/bot/v2/messaging_api/model/redelivery_recipient.rb +72 -0
  208. data/lib/line/bot/v2/messaging_api/model/reply_message_request.rb +85 -0
  209. data/lib/line/bot/v2/messaging_api/model/reply_message_response.rb +73 -0
  210. data/lib/line/bot/v2/messaging_api/model/rich_menu_alias_list_response.rb +73 -0
  211. data/lib/line/bot/v2/messaging_api/model/rich_menu_alias_response.rb +72 -0
  212. data/lib/line/bot/v2/messaging_api/model/rich_menu_area.rb +73 -0
  213. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_link_operation.rb +79 -0
  214. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_operation.rb +80 -0
  215. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_progress_phase.rb +21 -0
  216. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_progress_response.rb +79 -0
  217. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_request.rb +78 -0
  218. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_unlink_all_operation.rb +67 -0
  219. data/lib/line/bot/v2/messaging_api/model/rich_menu_batch_unlink_operation.rb +73 -0
  220. data/lib/line/bot/v2/messaging_api/model/rich_menu_bounds.rb +86 -0
  221. data/lib/line/bot/v2/messaging_api/model/rich_menu_bulk_link_request.rb +73 -0
  222. data/lib/line/bot/v2/messaging_api/model/rich_menu_bulk_unlink_request.rb +67 -0
  223. data/lib/line/bot/v2/messaging_api/model/rich_menu_id_response.rb +66 -0
  224. data/lib/line/bot/v2/messaging_api/model/rich_menu_list_response.rb +73 -0
  225. data/lib/line/bot/v2/messaging_api/model/rich_menu_request.rb +96 -0
  226. data/lib/line/bot/v2/messaging_api/model/rich_menu_response.rb +102 -0
  227. data/lib/line/bot/v2/messaging_api/model/rich_menu_size.rb +73 -0
  228. data/lib/line/bot/v2/messaging_api/model/rich_menu_switch_action.rb +84 -0
  229. data/lib/line/bot/v2/messaging_api/model/room_member_count_response.rb +67 -0
  230. data/lib/line/bot/v2/messaging_api/model/room_user_profile_response.rb +79 -0
  231. data/lib/line/bot/v2/messaging_api/model/sender.rb +73 -0
  232. data/lib/line/bot/v2/messaging_api/model/sent_message.rb +72 -0
  233. data/lib/line/bot/v2/messaging_api/model/set_webhook_endpoint_request.rb +67 -0
  234. data/lib/line/bot/v2/messaging_api/model/show_loading_animation_request.rb +73 -0
  235. data/lib/line/bot/v2/messaging_api/model/sticker_message.rb +97 -0
  236. data/lib/line/bot/v2/messaging_api/model/subscribed_membership_plan.rb +97 -0
  237. data/lib/line/bot/v2/messaging_api/model/subscribed_membership_user.rb +85 -0
  238. data/lib/line/bot/v2/messaging_api/model/subscription.rb +73 -0
  239. data/lib/line/bot/v2/messaging_api/model/subscription_period_demographic.rb +20 -0
  240. data/lib/line/bot/v2/messaging_api/model/subscription_period_demographic_filter.rb +78 -0
  241. data/lib/line/bot/v2/messaging_api/model/substitution_object.rb +78 -0
  242. data/lib/line/bot/v2/messaging_api/model/template.rb +79 -0
  243. data/lib/line/bot/v2/messaging_api/model/template_image_aspect_ratio.rb +21 -0
  244. data/lib/line/bot/v2/messaging_api/model/template_image_size.rb +21 -0
  245. data/lib/line/bot/v2/messaging_api/model/template_message.rb +91 -0
  246. data/lib/line/bot/v2/messaging_api/model/test_webhook_endpoint_request.rb +67 -0
  247. data/lib/line/bot/v2/messaging_api/model/test_webhook_endpoint_response.rb +91 -0
  248. data/lib/line/bot/v2/messaging_api/model/text_message.rb +103 -0
  249. data/lib/line/bot/v2/messaging_api/model/text_message_v2.rb +97 -0
  250. data/lib/line/bot/v2/messaging_api/model/update_rich_menu_alias_request.rb +67 -0
  251. data/lib/line/bot/v2/messaging_api/model/uri_action.rb +84 -0
  252. data/lib/line/bot/v2/messaging_api/model/uri_imagemap_action.rb +84 -0
  253. data/lib/line/bot/v2/messaging_api/model/user_mention_target.rb +73 -0
  254. data/lib/line/bot/v2/messaging_api/model/user_profile_response.rb +91 -0
  255. data/lib/line/bot/v2/messaging_api/model/validate_message_request.rb +72 -0
  256. data/lib/line/bot/v2/messaging_api/model/video_message.rb +97 -0
  257. data/lib/line/bot/v2/module/api/line_module_client.rb +247 -0
  258. data/lib/line/bot/v2/module/core.rb +18 -0
  259. data/lib/line/bot/v2/module/model/acquire_chat_control_request.rb +74 -0
  260. data/lib/line/bot/v2/module/model/detach_module_request.rb +68 -0
  261. data/lib/line/bot/v2/module/model/get_modules_response.rb +80 -0
  262. data/lib/line/bot/v2/module/model/module_bot.rb +92 -0
  263. data/lib/line/bot/v2/module_attach/api/line_module_attach_client.rb +160 -0
  264. data/lib/line/bot/v2/module_attach/core.rb +15 -0
  265. data/lib/line/bot/v2/module_attach/model/attach_module_response.rb +73 -0
  266. data/lib/line/bot/v2/reserved_words.rb +50 -0
  267. data/lib/line/bot/v2/shop/api/shop_client.rb +95 -0
  268. data/lib/line/bot/v2/shop/core.rb +16 -0
  269. data/lib/line/bot/v2/shop/model/error_response.rb +67 -0
  270. data/lib/line/bot/v2/shop/model/mission_sticker_request.rb +86 -0
  271. data/lib/line/bot/v2/utils.rb +143 -0
  272. data/lib/line/bot/v2/webhook/core.rb +77 -0
  273. data/lib/line/bot/v2/webhook/model/account_link_event.rb +109 -0
  274. data/lib/line/bot/v2/webhook/model/action_result.rb +72 -0
  275. data/lib/line/bot/v2/webhook/model/activated_event.rb +103 -0
  276. data/lib/line/bot/v2/webhook/model/all_mentionee.rb +79 -0
  277. data/lib/line/bot/v2/webhook/model/attached_module_content.rb +78 -0
  278. data/lib/line/bot/v2/webhook/model/audio_message_content.rb +84 -0
  279. data/lib/line/bot/v2/webhook/model/beacon_content.rb +78 -0
  280. data/lib/line/bot/v2/webhook/model/beacon_event.rb +109 -0
  281. data/lib/line/bot/v2/webhook/model/bot_resumed_event.rb +97 -0
  282. data/lib/line/bot/v2/webhook/model/bot_suspended_event.rb +97 -0
  283. data/lib/line/bot/v2/webhook/model/callback_request.rb +80 -0
  284. data/lib/line/bot/v2/webhook/model/chat_control.rb +66 -0
  285. data/lib/line/bot/v2/webhook/model/content_provider.rb +79 -0
  286. data/lib/line/bot/v2/webhook/model/deactivated_event.rb +97 -0
  287. data/lib/line/bot/v2/webhook/model/delivery_context.rb +67 -0
  288. data/lib/line/bot/v2/webhook/model/detached_module_content.rb +78 -0
  289. data/lib/line/bot/v2/webhook/model/emoji.rb +84 -0
  290. data/lib/line/bot/v2/webhook/model/event.rb +126 -0
  291. data/lib/line/bot/v2/webhook/model/event_mode.rb +21 -0
  292. data/lib/line/bot/v2/webhook/model/file_message_content.rb +84 -0
  293. data/lib/line/bot/v2/webhook/model/follow_detail.rb +66 -0
  294. data/lib/line/bot/v2/webhook/model/follow_event.rb +109 -0
  295. data/lib/line/bot/v2/webhook/model/group_source.rb +78 -0
  296. data/lib/line/bot/v2/webhook/model/image_message_content.rb +90 -0
  297. data/lib/line/bot/v2/webhook/model/image_set.rb +78 -0
  298. data/lib/line/bot/v2/webhook/model/join_event.rb +103 -0
  299. data/lib/line/bot/v2/webhook/model/joined_members.rb +72 -0
  300. data/lib/line/bot/v2/webhook/model/joined_membership_content.rb +72 -0
  301. data/lib/line/bot/v2/webhook/model/leave_event.rb +97 -0
  302. data/lib/line/bot/v2/webhook/model/left_members.rb +72 -0
  303. data/lib/line/bot/v2/webhook/model/left_membership_content.rb +72 -0
  304. data/lib/line/bot/v2/webhook/model/link_content.rb +73 -0
  305. data/lib/line/bot/v2/webhook/model/link_things_content.rb +72 -0
  306. data/lib/line/bot/v2/webhook/model/location_message_content.rb +96 -0
  307. data/lib/line/bot/v2/webhook/model/member_joined_event.rb +109 -0
  308. data/lib/line/bot/v2/webhook/model/member_left_event.rb +103 -0
  309. data/lib/line/bot/v2/webhook/model/membership_content.rb +79 -0
  310. data/lib/line/bot/v2/webhook/model/membership_event.rb +109 -0
  311. data/lib/line/bot/v2/webhook/model/mention.rb +72 -0
  312. data/lib/line/bot/v2/webhook/model/mentionee.rb +90 -0
  313. data/lib/line/bot/v2/webhook/model/message_content.rb +89 -0
  314. data/lib/line/bot/v2/webhook/model/message_event.rb +109 -0
  315. data/lib/line/bot/v2/webhook/model/module_content.rb +77 -0
  316. data/lib/line/bot/v2/webhook/model/module_event.rb +103 -0
  317. data/lib/line/bot/v2/webhook/model/pnp_delivery.rb +67 -0
  318. data/lib/line/bot/v2/webhook/model/pnp_delivery_completion_event.rb +103 -0
  319. data/lib/line/bot/v2/webhook/model/postback_content.rb +72 -0
  320. data/lib/line/bot/v2/webhook/model/postback_event.rb +109 -0
  321. data/lib/line/bot/v2/webhook/model/renewed_membership_content.rb +72 -0
  322. data/lib/line/bot/v2/webhook/model/room_source.rb +78 -0
  323. data/lib/line/bot/v2/webhook/model/scenario_result.rb +115 -0
  324. data/lib/line/bot/v2/webhook/model/scenario_result_things_content.rb +78 -0
  325. data/lib/line/bot/v2/webhook/model/source.rb +80 -0
  326. data/lib/line/bot/v2/webhook/model/sticker_message_content.rb +115 -0
  327. data/lib/line/bot/v2/webhook/model/text_message_content.rb +108 -0
  328. data/lib/line/bot/v2/webhook/model/things_content.rb +78 -0
  329. data/lib/line/bot/v2/webhook/model/things_event.rb +109 -0
  330. data/lib/line/bot/v2/webhook/model/unfollow_event.rb +97 -0
  331. data/lib/line/bot/v2/webhook/model/unlink_things_content.rb +72 -0
  332. data/lib/line/bot/v2/webhook/model/unsend_detail.rb +66 -0
  333. data/lib/line/bot/v2/webhook/model/unsend_event.rb +103 -0
  334. data/lib/line/bot/v2/webhook/model/user_mentionee.rb +91 -0
  335. data/lib/line/bot/v2/webhook/model/user_source.rb +72 -0
  336. data/lib/line/bot/v2/webhook/model/video_message_content.rb +90 -0
  337. data/lib/line/bot/v2/webhook/model/video_play_complete.rb +66 -0
  338. data/lib/line/bot/v2/webhook/model/video_play_complete_event.rb +109 -0
  339. data/lib/line/bot/v2/webhook_parser.rb +94 -0
  340. data/lib/line/bot/version.rb +7 -0
  341. data/lib/line/bot.rb +24 -9
  342. data/line-bot-api.gemspec +23 -18
  343. data/sig/line/bot/v2/channel_access_token/api/channel_access_token_client.rbs +327 -0
  344. data/sig/line/bot/v2/channel_access_token/model/channel_access_token_key_ids_response.rbs +41 -0
  345. data/sig/line/bot/v2/channel_access_token/model/error_response.rbs +43 -0
  346. data/sig/line/bot/v2/channel_access_token/model/issue_channel_access_token_response.rbs +50 -0
  347. data/sig/line/bot/v2/channel_access_token/model/issue_short_lived_channel_access_token_response.rbs +47 -0
  348. data/sig/line/bot/v2/channel_access_token/model/issue_stateless_channel_access_token_response.rbs +47 -0
  349. data/sig/line/bot/v2/channel_access_token/model/verify_channel_access_token_response.rbs +46 -0
  350. data/sig/line/bot/v2/http_client.rbs +111 -0
  351. data/sig/line/bot/v2/insight/api/insight_client.rbs +196 -0
  352. data/sig/line/bot/v2/insight/model/age_tile.rbs +42 -0
  353. data/sig/line/bot/v2/insight/model/app_type_tile.rbs +42 -0
  354. data/sig/line/bot/v2/insight/model/area_tile.rbs +42 -0
  355. data/sig/line/bot/v2/insight/model/error_detail.rbs +42 -0
  356. data/sig/line/bot/v2/insight/model/error_response.rbs +43 -0
  357. data/sig/line/bot/v2/insight/model/gender_tile.rbs +42 -0
  358. data/sig/line/bot/v2/insight/model/get_friends_demographics_response.rbs +56 -0
  359. data/sig/line/bot/v2/insight/model/get_message_event_response.rbs +47 -0
  360. data/sig/line/bot/v2/insight/model/get_message_event_response_click.rbs +51 -0
  361. data/sig/line/bot/v2/insight/model/get_message_event_response_message.rbs +72 -0
  362. data/sig/line/bot/v2/insight/model/get_message_event_response_overview.rbs +58 -0
  363. data/sig/line/bot/v2/insight/model/get_number_of_followers_response.rbs +50 -0
  364. data/sig/line/bot/v2/insight/model/get_number_of_message_deliveries_response.rbs +71 -0
  365. data/sig/line/bot/v2/insight/model/get_statistics_per_unit_response.rbs +47 -0
  366. data/sig/line/bot/v2/insight/model/get_statistics_per_unit_response_click.rbs +52 -0
  367. data/sig/line/bot/v2/insight/model/get_statistics_per_unit_response_message.rbs +76 -0
  368. data/sig/line/bot/v2/insight/model/get_statistics_per_unit_response_overview.rbs +50 -0
  369. data/sig/line/bot/v2/insight/model/subscription_period_tile.rbs +42 -0
  370. data/sig/line/bot/v2/liff/api/liff_client.rbs +198 -0
  371. data/sig/line/bot/v2/liff/model/add_liff_app_request.rbs +55 -0
  372. data/sig/line/bot/v2/liff/model/add_liff_app_response.rbs +39 -0
  373. data/sig/line/bot/v2/liff/model/get_all_liff_apps_response.rbs +39 -0
  374. data/sig/line/bot/v2/liff/model/liff_app.rbs +57 -0
  375. data/sig/line/bot/v2/liff/model/liff_bot_prompt.rbs +21 -0
  376. data/sig/line/bot/v2/liff/model/liff_features.rbs +42 -0
  377. data/sig/line/bot/v2/liff/model/liff_scope.rbs +21 -0
  378. data/sig/line/bot/v2/liff/model/liff_view.rbs +46 -0
  379. data/sig/line/bot/v2/liff/model/update_liff_app_request.rbs +55 -0
  380. data/sig/line/bot/v2/liff/model/update_liff_view.rbs +46 -0
  381. data/sig/line/bot/v2/manage_audience/api/manage_audience_blob_client.rbs +122 -0
  382. data/sig/line/bot/v2/manage_audience/api/manage_audience_client.rbs +394 -0
  383. data/sig/line/bot/v2/manage_audience/model/adaccount.rbs +40 -0
  384. data/sig/line/bot/v2/manage_audience/model/add_audience_to_audience_group_request.rbs +47 -0
  385. data/sig/line/bot/v2/manage_audience/model/audience.rbs +40 -0
  386. data/sig/line/bot/v2/manage_audience/model/audience_group.rbs +73 -0
  387. data/sig/line/bot/v2/manage_audience/model/audience_group_create_route.rbs +21 -0
  388. data/sig/line/bot/v2/manage_audience/model/audience_group_failed_type.rbs +21 -0
  389. data/sig/line/bot/v2/manage_audience/model/audience_group_job.rbs +62 -0
  390. data/sig/line/bot/v2/manage_audience/model/audience_group_job_failed_type.rbs +21 -0
  391. data/sig/line/bot/v2/manage_audience/model/audience_group_job_status.rbs +21 -0
  392. data/sig/line/bot/v2/manage_audience/model/audience_group_job_type.rbs +21 -0
  393. data/sig/line/bot/v2/manage_audience/model/audience_group_permission.rbs +21 -0
  394. data/sig/line/bot/v2/manage_audience/model/audience_group_status.rbs +21 -0
  395. data/sig/line/bot/v2/manage_audience/model/audience_group_type.rbs +21 -0
  396. data/sig/line/bot/v2/manage_audience/model/create_audience_group_request.rbs +50 -0
  397. data/sig/line/bot/v2/manage_audience/model/create_audience_group_response.rbs +62 -0
  398. data/sig/line/bot/v2/manage_audience/model/create_click_based_audience_group_request.rbs +47 -0
  399. data/sig/line/bot/v2/manage_audience/model/create_click_based_audience_group_response.rbs +68 -0
  400. data/sig/line/bot/v2/manage_audience/model/create_imp_based_audience_group_request.rbs +44 -0
  401. data/sig/line/bot/v2/manage_audience/model/create_imp_based_audience_group_response.rbs +53 -0
  402. data/sig/line/bot/v2/manage_audience/model/detailed_owner.rbs +46 -0
  403. data/sig/line/bot/v2/manage_audience/model/error_detail.rbs +42 -0
  404. data/sig/line/bot/v2/manage_audience/model/error_response.rbs +43 -0
  405. data/sig/line/bot/v2/manage_audience/model/get_audience_data_response.rbs +47 -0
  406. data/sig/line/bot/v2/manage_audience/model/get_audience_groups_response.rbs +56 -0
  407. data/sig/line/bot/v2/manage_audience/model/get_shared_audience_data_response.rbs +47 -0
  408. data/sig/line/bot/v2/manage_audience/model/get_shared_audience_groups_response.rbs +56 -0
  409. data/sig/line/bot/v2/manage_audience/model/update_audience_group_description_request.rbs +41 -0
  410. data/sig/line/bot/v2/messaging_api/api/messaging_api_blob_client.rbs +196 -0
  411. data/sig/line/bot/v2/messaging_api/api/messaging_api_client.rbs +2072 -0
  412. data/sig/line/bot/v2/messaging_api/model/action.rbs +48 -0
  413. data/sig/line/bot/v2/messaging_api/model/age_demographic.rbs +20 -0
  414. data/sig/line/bot/v2/messaging_api/model/age_demographic_filter.rbs +43 -0
  415. data/sig/line/bot/v2/messaging_api/model/all_mention_target.rbs +38 -0
  416. data/sig/line/bot/v2/messaging_api/model/alt_uri.rbs +39 -0
  417. data/sig/line/bot/v2/messaging_api/model/app_type_demographic.rbs +20 -0
  418. data/sig/line/bot/v2/messaging_api/model/app_type_demographic_filter.rbs +40 -0
  419. data/sig/line/bot/v2/messaging_api/model/area_demographic.rbs +21 -0
  420. data/sig/line/bot/v2/messaging_api/model/area_demographic_filter.rbs +40 -0
  421. data/sig/line/bot/v2/messaging_api/model/audience_recipient.rbs +40 -0
  422. data/sig/line/bot/v2/messaging_api/model/audio_message.rbs +50 -0
  423. data/sig/line/bot/v2/messaging_api/model/bot_info_response.rbs +58 -0
  424. data/sig/line/bot/v2/messaging_api/model/broadcast_request.rbs +43 -0
  425. data/sig/line/bot/v2/messaging_api/model/buttons_template.rbs +61 -0
  426. data/sig/line/bot/v2/messaging_api/model/camera_action.rbs +40 -0
  427. data/sig/line/bot/v2/messaging_api/model/camera_roll_action.rbs +40 -0
  428. data/sig/line/bot/v2/messaging_api/model/carousel_column.rbs +55 -0
  429. data/sig/line/bot/v2/messaging_api/model/carousel_template.rbs +46 -0
  430. data/sig/line/bot/v2/messaging_api/model/chat_reference.rbs +41 -0
  431. data/sig/line/bot/v2/messaging_api/model/clipboard_action.rbs +44 -0
  432. data/sig/line/bot/v2/messaging_api/model/clipboard_imagemap_action.rbs +47 -0
  433. data/sig/line/bot/v2/messaging_api/model/confirm_template.rbs +43 -0
  434. data/sig/line/bot/v2/messaging_api/model/create_rich_menu_alias_request.rbs +43 -0
  435. data/sig/line/bot/v2/messaging_api/model/datetime_picker_action.rbs +56 -0
  436. data/sig/line/bot/v2/messaging_api/model/demographic_filter.rbs +44 -0
  437. data/sig/line/bot/v2/messaging_api/model/emoji.rbs +45 -0
  438. data/sig/line/bot/v2/messaging_api/model/emoji_substitution_object.rbs +45 -0
  439. data/sig/line/bot/v2/messaging_api/model/error_detail.rbs +42 -0
  440. data/sig/line/bot/v2/messaging_api/model/error_response.rbs +46 -0
  441. data/sig/line/bot/v2/messaging_api/model/filter.rbs +40 -0
  442. data/sig/line/bot/v2/messaging_api/model/flex_block_style.rbs +45 -0
  443. data/sig/line/bot/v2/messaging_api/model/flex_box.rbs +118 -0
  444. data/sig/line/bot/v2/messaging_api/model/flex_box_background.rbs +43 -0
  445. data/sig/line/bot/v2/messaging_api/model/flex_box_border_width.rbs +21 -0
  446. data/sig/line/bot/v2/messaging_api/model/flex_box_corner_radius.rbs +21 -0
  447. data/sig/line/bot/v2/messaging_api/model/flex_box_linear_gradient.rbs +52 -0
  448. data/sig/line/bot/v2/messaging_api/model/flex_box_padding.rbs +21 -0
  449. data/sig/line/bot/v2/messaging_api/model/flex_box_spacing.rbs +21 -0
  450. data/sig/line/bot/v2/messaging_api/model/flex_bubble.rbs +61 -0
  451. data/sig/line/bot/v2/messaging_api/model/flex_bubble_styles.rbs +48 -0
  452. data/sig/line/bot/v2/messaging_api/model/flex_button.rbs +79 -0
  453. data/sig/line/bot/v2/messaging_api/model/flex_carousel.rbs +40 -0
  454. data/sig/line/bot/v2/messaging_api/model/flex_component.rbs +43 -0
  455. data/sig/line/bot/v2/messaging_api/model/flex_container.rbs +43 -0
  456. data/sig/line/bot/v2/messaging_api/model/flex_filler.rbs +40 -0
  457. data/sig/line/bot/v2/messaging_api/model/flex_icon.rbs +68 -0
  458. data/sig/line/bot/v2/messaging_api/model/flex_icon_size.rbs +21 -0
  459. data/sig/line/bot/v2/messaging_api/model/flex_image.rbs +86 -0
  460. data/sig/line/bot/v2/messaging_api/model/flex_image_size.rbs +21 -0
  461. data/sig/line/bot/v2/messaging_api/model/flex_margin.rbs +21 -0
  462. data/sig/line/bot/v2/messaging_api/model/flex_message.rbs +50 -0
  463. data/sig/line/bot/v2/messaging_api/model/flex_offset.rbs +21 -0
  464. data/sig/line/bot/v2/messaging_api/model/flex_separator.rbs +43 -0
  465. data/sig/line/bot/v2/messaging_api/model/flex_span.rbs +55 -0
  466. data/sig/line/bot/v2/messaging_api/model/flex_span_size.rbs +21 -0
  467. data/sig/line/bot/v2/messaging_api/model/flex_text.rbs +103 -0
  468. data/sig/line/bot/v2/messaging_api/model/flex_text_font_size.rbs +21 -0
  469. data/sig/line/bot/v2/messaging_api/model/flex_video.rbs +52 -0
  470. data/sig/line/bot/v2/messaging_api/model/gender_demographic.rbs +20 -0
  471. data/sig/line/bot/v2/messaging_api/model/gender_demographic_filter.rbs +40 -0
  472. data/sig/line/bot/v2/messaging_api/model/get_aggregation_unit_name_list_response.rbs +43 -0
  473. data/sig/line/bot/v2/messaging_api/model/get_aggregation_unit_usage_response.rbs +40 -0
  474. data/sig/line/bot/v2/messaging_api/model/get_followers_response.rbs +43 -0
  475. data/sig/line/bot/v2/messaging_api/model/get_joined_membership_users_response.rbs +44 -0
  476. data/sig/line/bot/v2/messaging_api/model/get_membership_subscription_response.rbs +41 -0
  477. data/sig/line/bot/v2/messaging_api/model/get_message_content_transcoding_response.rbs +41 -0
  478. data/sig/line/bot/v2/messaging_api/model/get_webhook_endpoint_response.rbs +43 -0
  479. data/sig/line/bot/v2/messaging_api/model/group_member_count_response.rbs +40 -0
  480. data/sig/line/bot/v2/messaging_api/model/group_summary_response.rbs +46 -0
  481. data/sig/line/bot/v2/messaging_api/model/group_user_profile_response.rbs +46 -0
  482. data/sig/line/bot/v2/messaging_api/model/image_carousel_column.rbs +42 -0
  483. data/sig/line/bot/v2/messaging_api/model/image_carousel_template.rbs +40 -0
  484. data/sig/line/bot/v2/messaging_api/model/image_message.rbs +50 -0
  485. data/sig/line/bot/v2/messaging_api/model/imagemap_action.rbs +47 -0
  486. data/sig/line/bot/v2/messaging_api/model/imagemap_area.rbs +48 -0
  487. data/sig/line/bot/v2/messaging_api/model/imagemap_base_size.rbs +42 -0
  488. data/sig/line/bot/v2/messaging_api/model/imagemap_external_link.rbs +42 -0
  489. data/sig/line/bot/v2/messaging_api/model/imagemap_message.rbs +59 -0
  490. data/sig/line/bot/v2/messaging_api/model/imagemap_video.rbs +48 -0
  491. data/sig/line/bot/v2/messaging_api/model/issue_link_token_response.rbs +40 -0
  492. data/sig/line/bot/v2/messaging_api/model/limit.rbs +44 -0
  493. data/sig/line/bot/v2/messaging_api/model/location_action.rbs +40 -0
  494. data/sig/line/bot/v2/messaging_api/model/location_message.rbs +56 -0
  495. data/sig/line/bot/v2/messaging_api/model/mark_messages_as_read_request.rbs +40 -0
  496. data/sig/line/bot/v2/messaging_api/model/members_ids_response.rbs +42 -0
  497. data/sig/line/bot/v2/messaging_api/model/membership.rbs +66 -0
  498. data/sig/line/bot/v2/messaging_api/model/membership_list_response.rbs +40 -0
  499. data/sig/line/bot/v2/messaging_api/model/mention_substitution_object.rbs +42 -0
  500. data/sig/line/bot/v2/messaging_api/model/mention_target.rbs +43 -0
  501. data/sig/line/bot/v2/messaging_api/model/message.rbs +50 -0
  502. data/sig/line/bot/v2/messaging_api/model/message_action.rbs +43 -0
  503. data/sig/line/bot/v2/messaging_api/model/message_imagemap_action.rbs +46 -0
  504. data/sig/line/bot/v2/messaging_api/model/message_quota_response.rbs +43 -0
  505. data/sig/line/bot/v2/messaging_api/model/multicast_request.rbs +49 -0
  506. data/sig/line/bot/v2/messaging_api/model/narrowcast_progress_response.rbs +61 -0
  507. data/sig/line/bot/v2/messaging_api/model/narrowcast_request.rbs +52 -0
  508. data/sig/line/bot/v2/messaging_api/model/number_of_messages_response.rbs +42 -0
  509. data/sig/line/bot/v2/messaging_api/model/operator_demographic_filter.rbs +46 -0
  510. data/sig/line/bot/v2/messaging_api/model/operator_recipient.rbs +46 -0
  511. data/sig/line/bot/v2/messaging_api/model/pnp_messages_request.rbs +46 -0
  512. data/sig/line/bot/v2/messaging_api/model/postback_action.rbs +55 -0
  513. data/sig/line/bot/v2/messaging_api/model/push_message_request.rbs +49 -0
  514. data/sig/line/bot/v2/messaging_api/model/push_message_response.rbs +40 -0
  515. data/sig/line/bot/v2/messaging_api/model/quick_reply.rbs +41 -0
  516. data/sig/line/bot/v2/messaging_api/model/quick_reply_item.rbs +46 -0
  517. data/sig/line/bot/v2/messaging_api/model/quota_consumption_response.rbs +40 -0
  518. data/sig/line/bot/v2/messaging_api/model/quota_type.rbs +22 -0
  519. data/sig/line/bot/v2/messaging_api/model/recipient.rbs +44 -0
  520. data/sig/line/bot/v2/messaging_api/model/redelivery_recipient.rbs +40 -0
  521. data/sig/line/bot/v2/messaging_api/model/reply_message_request.rbs +46 -0
  522. data/sig/line/bot/v2/messaging_api/model/reply_message_response.rbs +40 -0
  523. data/sig/line/bot/v2/messaging_api/model/rich_menu_alias_list_response.rbs +40 -0
  524. data/sig/line/bot/v2/messaging_api/model/rich_menu_alias_response.rbs +42 -0
  525. data/sig/line/bot/v2/messaging_api/model/rich_menu_area.rbs +43 -0
  526. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_link_operation.rbs +44 -0
  527. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_operation.rbs +45 -0
  528. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_progress_phase.rbs +21 -0
  529. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_progress_response.rbs +46 -0
  530. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_request.rbs +42 -0
  531. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_unlink_all_operation.rbs +38 -0
  532. data/sig/line/bot/v2/messaging_api/model/rich_menu_batch_unlink_operation.rbs +41 -0
  533. data/sig/line/bot/v2/messaging_api/model/rich_menu_bounds.rbs +50 -0
  534. data/sig/line/bot/v2/messaging_api/model/rich_menu_bulk_link_request.rbs +43 -0
  535. data/sig/line/bot/v2/messaging_api/model/rich_menu_bulk_unlink_request.rbs +40 -0
  536. data/sig/line/bot/v2/messaging_api/model/rich_menu_id_response.rbs +39 -0
  537. data/sig/line/bot/v2/messaging_api/model/rich_menu_list_response.rbs +40 -0
  538. data/sig/line/bot/v2/messaging_api/model/rich_menu_request.rbs +51 -0
  539. data/sig/line/bot/v2/messaging_api/model/rich_menu_response.rbs +54 -0
  540. data/sig/line/bot/v2/messaging_api/model/rich_menu_size.rbs +43 -0
  541. data/sig/line/bot/v2/messaging_api/model/rich_menu_switch_action.rbs +46 -0
  542. data/sig/line/bot/v2/messaging_api/model/room_member_count_response.rbs +40 -0
  543. data/sig/line/bot/v2/messaging_api/model/room_user_profile_response.rbs +46 -0
  544. data/sig/line/bot/v2/messaging_api/model/sender.rbs +43 -0
  545. data/sig/line/bot/v2/messaging_api/model/sent_message.rbs +42 -0
  546. data/sig/line/bot/v2/messaging_api/model/set_webhook_endpoint_request.rbs +40 -0
  547. data/sig/line/bot/v2/messaging_api/model/show_loading_animation_request.rbs +43 -0
  548. data/sig/line/bot/v2/messaging_api/model/sticker_message.rbs +53 -0
  549. data/sig/line/bot/v2/messaging_api/model/subscribed_membership_plan.rbs +55 -0
  550. data/sig/line/bot/v2/messaging_api/model/subscribed_membership_user.rbs +49 -0
  551. data/sig/line/bot/v2/messaging_api/model/subscription.rbs +43 -0
  552. data/sig/line/bot/v2/messaging_api/model/subscription_period_demographic.rbs +20 -0
  553. data/sig/line/bot/v2/messaging_api/model/subscription_period_demographic_filter.rbs +43 -0
  554. data/sig/line/bot/v2/messaging_api/model/substitution_object.rbs +44 -0
  555. data/sig/line/bot/v2/messaging_api/model/template.rbs +43 -0
  556. data/sig/line/bot/v2/messaging_api/model/template_image_aspect_ratio.rbs +21 -0
  557. data/sig/line/bot/v2/messaging_api/model/template_image_size.rbs +21 -0
  558. data/sig/line/bot/v2/messaging_api/model/template_message.rbs +50 -0
  559. data/sig/line/bot/v2/messaging_api/model/test_webhook_endpoint_request.rbs +40 -0
  560. data/sig/line/bot/v2/messaging_api/model/test_webhook_endpoint_response.rbs +52 -0
  561. data/sig/line/bot/v2/messaging_api/model/text_message.rbs +53 -0
  562. data/sig/line/bot/v2/messaging_api/model/text_message_v2.rbs +53 -0
  563. data/sig/line/bot/v2/messaging_api/model/update_rich_menu_alias_request.rbs +40 -0
  564. data/sig/line/bot/v2/messaging_api/model/uri_action.rbs +46 -0
  565. data/sig/line/bot/v2/messaging_api/model/uri_imagemap_action.rbs +46 -0
  566. data/sig/line/bot/v2/messaging_api/model/user_mention_target.rbs +41 -0
  567. data/sig/line/bot/v2/messaging_api/model/user_profile_response.rbs +52 -0
  568. data/sig/line/bot/v2/messaging_api/model/validate_message_request.rbs +39 -0
  569. data/sig/line/bot/v2/messaging_api/model/video_message.rbs +53 -0
  570. data/sig/line/bot/v2/module/api/line_module_client.rbs +170 -0
  571. data/sig/line/bot/v2/module/model/acquire_chat_control_request.rbs +44 -0
  572. data/sig/line/bot/v2/module/model/detach_module_request.rbs +41 -0
  573. data/sig/line/bot/v2/module/model/get_modules_response.rbs +44 -0
  574. data/sig/line/bot/v2/module/model/module_bot.rbs +53 -0
  575. data/sig/line/bot/v2/module_attach/api/line_module_attach_client.rbs +111 -0
  576. data/sig/line/bot/v2/module_attach/model/attach_module_response.rbs +43 -0
  577. data/sig/line/bot/v2/reserved_words.rbs +7 -0
  578. data/sig/line/bot/v2/shop/api/shop_client.rbs +72 -0
  579. data/sig/line/bot/v2/shop/model/error_response.rbs +40 -0
  580. data/sig/line/bot/v2/shop/model/mission_sticker_request.rbs +50 -0
  581. data/sig/line/bot/v2/utils.rbs +25 -0
  582. data/sig/line/bot/v2/webhook/model/account_link_event.rbs +59 -0
  583. data/sig/line/bot/v2/webhook/model/action_result.rbs +42 -0
  584. data/sig/line/bot/v2/webhook/model/activated_event.rbs +56 -0
  585. data/sig/line/bot/v2/webhook/model/all_mentionee.rbs +44 -0
  586. data/sig/line/bot/v2/webhook/model/attached_module_content.rbs +43 -0
  587. data/sig/line/bot/v2/webhook/model/audio_message_content.rbs +46 -0
  588. data/sig/line/bot/v2/webhook/model/beacon_content.rbs +45 -0
  589. data/sig/line/bot/v2/webhook/model/beacon_event.rbs +59 -0
  590. data/sig/line/bot/v2/webhook/model/bot_resumed_event.rbs +53 -0
  591. data/sig/line/bot/v2/webhook/model/bot_suspended_event.rbs +53 -0
  592. data/sig/line/bot/v2/webhook/model/callback_request.rbs +44 -0
  593. data/sig/line/bot/v2/webhook/model/chat_control.rbs +39 -0
  594. data/sig/line/bot/v2/webhook/model/content_provider.rbs +46 -0
  595. data/sig/line/bot/v2/webhook/model/deactivated_event.rbs +53 -0
  596. data/sig/line/bot/v2/webhook/model/delivery_context.rbs +40 -0
  597. data/sig/line/bot/v2/webhook/model/detached_module_content.rbs +43 -0
  598. data/sig/line/bot/v2/webhook/model/emoji.rbs +48 -0
  599. data/sig/line/bot/v2/webhook/model/event.rbs +59 -0
  600. data/sig/line/bot/v2/webhook/model/event_mode.rbs +21 -0
  601. data/sig/line/bot/v2/webhook/model/file_message_content.rbs +46 -0
  602. data/sig/line/bot/v2/webhook/model/follow_detail.rbs +39 -0
  603. data/sig/line/bot/v2/webhook/model/follow_event.rbs +59 -0
  604. data/sig/line/bot/v2/webhook/model/group_source.rbs +43 -0
  605. data/sig/line/bot/v2/webhook/model/image_message_content.rbs +49 -0
  606. data/sig/line/bot/v2/webhook/model/image_set.rbs +45 -0
  607. data/sig/line/bot/v2/webhook/model/join_event.rbs +56 -0
  608. data/sig/line/bot/v2/webhook/model/joined_members.rbs +39 -0
  609. data/sig/line/bot/v2/webhook/model/joined_membership_content.rbs +40 -0
  610. data/sig/line/bot/v2/webhook/model/leave_event.rbs +53 -0
  611. data/sig/line/bot/v2/webhook/model/left_members.rbs +39 -0
  612. data/sig/line/bot/v2/webhook/model/left_membership_content.rbs +40 -0
  613. data/sig/line/bot/v2/webhook/model/link_content.rbs +43 -0
  614. data/sig/line/bot/v2/webhook/model/link_things_content.rbs +40 -0
  615. data/sig/line/bot/v2/webhook/model/location_message_content.rbs +52 -0
  616. data/sig/line/bot/v2/webhook/model/member_joined_event.rbs +59 -0
  617. data/sig/line/bot/v2/webhook/model/member_left_event.rbs +56 -0
  618. data/sig/line/bot/v2/webhook/model/membership_content.rbs +44 -0
  619. data/sig/line/bot/v2/webhook/model/membership_event.rbs +59 -0
  620. data/sig/line/bot/v2/webhook/model/mention.rbs +39 -0
  621. data/sig/line/bot/v2/webhook/model/mentionee.rbs +50 -0
  622. data/sig/line/bot/v2/webhook/model/message_content.rbs +47 -0
  623. data/sig/line/bot/v2/webhook/model/message_event.rbs +59 -0
  624. data/sig/line/bot/v2/webhook/model/module_content.rbs +43 -0
  625. data/sig/line/bot/v2/webhook/model/module_event.rbs +56 -0
  626. data/sig/line/bot/v2/webhook/model/pnp_delivery.rbs +40 -0
  627. data/sig/line/bot/v2/webhook/model/pnp_delivery_completion_event.rbs +56 -0
  628. data/sig/line/bot/v2/webhook/model/postback_content.rbs +42 -0
  629. data/sig/line/bot/v2/webhook/model/postback_event.rbs +59 -0
  630. data/sig/line/bot/v2/webhook/model/renewed_membership_content.rbs +40 -0
  631. data/sig/line/bot/v2/webhook/model/room_source.rbs +43 -0
  632. data/sig/line/bot/v2/webhook/model/scenario_result.rbs +61 -0
  633. data/sig/line/bot/v2/webhook/model/scenario_result_things_content.rbs +43 -0
  634. data/sig/line/bot/v2/webhook/model/source.rbs +45 -0
  635. data/sig/line/bot/v2/webhook/model/sticker_message_content.rbs +62 -0
  636. data/sig/line/bot/v2/webhook/model/text_message_content.rbs +55 -0
  637. data/sig/line/bot/v2/webhook/model/things_content.rbs +43 -0
  638. data/sig/line/bot/v2/webhook/model/things_event.rbs +59 -0
  639. data/sig/line/bot/v2/webhook/model/unfollow_event.rbs +53 -0
  640. data/sig/line/bot/v2/webhook/model/unlink_things_content.rbs +40 -0
  641. data/sig/line/bot/v2/webhook/model/unsend_detail.rbs +39 -0
  642. data/sig/line/bot/v2/webhook/model/unsend_event.rbs +56 -0
  643. data/sig/line/bot/v2/webhook/model/user_mentionee.rbs +50 -0
  644. data/sig/line/bot/v2/webhook/model/user_source.rbs +40 -0
  645. data/sig/line/bot/v2/webhook/model/video_message_content.rbs +49 -0
  646. data/sig/line/bot/v2/webhook/model/video_play_complete.rbs +39 -0
  647. data/sig/line/bot/v2/webhook/model/video_play_complete_event.rbs +59 -0
  648. data/sig/line/bot/v2/webhook_parser.rbs +26 -0
  649. data/sig/line/bot/version.rbs +5 -0
  650. metadata +666 -69
@@ -0,0 +1,109 @@
1
+ # Webhook Type Definition
2
+ # Webhook event definition of the LINE Messaging API
3
+ #
4
+ # The version of the OpenAPI document: 1.0.0
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ require_relative './event'
11
+
12
+ module Line
13
+ module Bot
14
+ module V2
15
+ module Webhook
16
+ # Event for when a user finishes viewing a video at least once with the specified trackingId sent by the LINE Official Account.
17
+ class VideoPlayCompleteEvent < Event
18
+ # @!attribute [r] type
19
+ # @return [String] Type of the event
20
+ attr_reader :type
21
+ # @!attribute [rw] source
22
+ # @return [Source,nil]
23
+ attr_accessor :source
24
+ # @!attribute [rw] timestamp
25
+ # @return [Integer] Time of the event in milliseconds.
26
+ attr_accessor :timestamp
27
+ # @!attribute [rw] mode
28
+ # @return [String] ('active'|'standby')
29
+ attr_accessor :mode
30
+ # @!attribute [rw] webhook_event_id
31
+ # @return [String] Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format.
32
+ attr_accessor :webhook_event_id
33
+ # @!attribute [rw] delivery_context
34
+ # @return [DeliveryContext]
35
+ attr_accessor :delivery_context
36
+ # @!attribute [rw] reply_token
37
+ # @return [String] Reply token used to send reply message to this event
38
+ attr_accessor :reply_token
39
+ # @!attribute [rw] video_play_complete
40
+ # @return [VideoPlayComplete]
41
+ attr_accessor :video_play_complete
42
+
43
+ # @param source [Source, Hash[Symbol, untyped], nil]
44
+ # @param timestamp [Integer] Time of the event in milliseconds.
45
+ # @param mode [String] ('active'|'standby')
46
+ # @param webhook_event_id [String] Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format.
47
+ # @param delivery_context [DeliveryContext, Hash[Symbol, untyped]]
48
+ # @param reply_token [String] Reply token used to send reply message to this event
49
+ # @param video_play_complete [VideoPlayComplete, Hash[Symbol, untyped]]
50
+ def initialize(
51
+ source: nil,
52
+ timestamp:,
53
+ mode:,
54
+ webhook_event_id:,
55
+ delivery_context:,
56
+ reply_token:,
57
+ video_play_complete:,
58
+ **dynamic_attributes
59
+ )
60
+ @type = "videoPlayComplete"
61
+
62
+ @source = source.is_a?(Line::Bot::V2::Webhook::Source) || source.nil? ? source : Line::Bot::V2::Webhook::Source.create(**source) # steep:ignore
63
+ @timestamp = timestamp
64
+ @mode = mode
65
+ @webhook_event_id = webhook_event_id
66
+ @delivery_context = delivery_context.is_a?(Line::Bot::V2::Webhook::DeliveryContext) ? delivery_context : Line::Bot::V2::Webhook::DeliveryContext.create(**delivery_context) # steep:ignore
67
+ @reply_token = reply_token
68
+ @video_play_complete = video_play_complete.is_a?(Line::Bot::V2::Webhook::VideoPlayComplete) ? video_play_complete : Line::Bot::V2::Webhook::VideoPlayComplete.create(**video_play_complete) # steep:ignore
69
+
70
+ dynamic_attributes.each do |key, value|
71
+ self.class.attr_accessor key
72
+
73
+ if value.is_a?(Hash)
74
+ struct_klass = Struct.new(*value.keys.map(&:to_sym))
75
+ struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v }
76
+ instance_variable_set("@#{key}", struct_klass.new(*struct_values))
77
+ else
78
+ instance_variable_set("@#{key}", value)
79
+ end
80
+ end
81
+ end
82
+
83
+ # Create an instance of the class from a hash
84
+ # @param args [Hash] Hash containing all the required attributes
85
+ # @return [Line::Bot::V2::Webhook::VideoPlayCompleteEvent] Instance of the class
86
+ def self.create(args) # steep:ignore
87
+ symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
88
+ return new(**symbolized_args) # steep:ignore
89
+ end
90
+
91
+ # @param other [Object] Object to compare
92
+ # @return [Boolean] true if the objects are equal, false otherwise
93
+ def ==(other)
94
+ return false unless self.class == other.class
95
+
96
+ instance_variables.all? do |var|
97
+ instance_variable_get(var) == other.instance_variable_get(var)
98
+ end
99
+ end
100
+
101
+ # @return [Integer] Hash code of the object
102
+ def hash
103
+ [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,94 @@
1
+ require 'base64'
2
+ require 'json'
3
+ require 'openssl'
4
+
5
+ require 'line/bot/v2/utils'
6
+ require 'line/bot/v2/webhook/core'
7
+
8
+ module Line
9
+ module Bot
10
+ module V2
11
+ class WebhookParser
12
+ class InvalidSignatureError < StandardError; end
13
+
14
+ def initialize(channel_secret:)
15
+ @channel_secret = channel_secret
16
+ end
17
+
18
+ # Parse events from the raw request body and validate the signature.
19
+ #
20
+ # @param body [String]
21
+ # The unmodified request body (exactly as received).
22
+ # @param signature [String]
23
+ # The value of the 'X-LINE-Signature' header.
24
+ # @return [Array<Line::Bot::V2::Webhook::Event>]
25
+ # An array of event objects. Recognized events become instances of classes
26
+ # under `Line::Bot::V2::Webhook::*Event`;
27
+ # `Line::Bot::V2::Webhook::Event` is returned as fallback only when the event class is not defined in line-bot-sdk library.
28
+ # When you update the SDK, you may not need to handle `Line::Bot::V2::Webhook::Event` anymore.
29
+ # @raise [InvalidSignatureError]
30
+ # If the signature fails verification.
31
+ #
32
+ # @example Sinatra usage
33
+ # def parser
34
+ # @parser ||= Line::Bot::V2::WebhookParser.new(channel_secret: ENV.fetch("LINE_CHANNEL_SECRET"))
35
+ # end
36
+ #
37
+ # post '/callback' do
38
+ # body = request.body.read
39
+ # signature = request.env['HTTP_X_LINE_SIGNATURE']
40
+ #
41
+ # begin
42
+ # events = parser.parse(body: body, signature: signature)
43
+ # rescue Line::Bot::V2::WebhookParser::InvalidSignatureError
44
+ # halt 400, { 'Content-Type' => 'text/plain' }, 'Bad Request'
45
+ # end
46
+ #
47
+ # # Handle events...
48
+ # events.each do |event|
49
+ # case event
50
+ # when Line::Bot::V2::Webhook::MessageEvent
51
+ # handle_message_event(event)
52
+ # ...
53
+ # end
54
+ # "OK"
55
+ # end
56
+ def parse(body:, signature:)
57
+ raise InvalidSignatureError.new("Invalid signature: #{signature}") unless verify_signature(body: body, signature: signature)
58
+
59
+ data = JSON.parse(body.chomp, symbolize_names: true)
60
+ data = Line::Bot::V2::Utils.deep_underscore(data)
61
+ data = Line::Bot::V2::Utils.deep_convert_reserved_words(data)
62
+ data = Line::Bot::V2::Utils.deep_symbolize(data)
63
+
64
+ data[:events].map do |event|
65
+ Line::Bot::V2::Webhook::Event.create(**event) # steep:ignore
66
+ end
67
+ end
68
+
69
+ private
70
+
71
+ def verify_signature(body:, signature:)
72
+ hash = OpenSSL::HMAC.digest(OpenSSL::Digest.new('SHA256'), @channel_secret, body)
73
+ expected = Base64.strict_encode64(hash)
74
+ variable_secure_compare(signature, expected)
75
+ end
76
+
77
+ # To avoid timing attacks
78
+ def variable_secure_compare(a, b)
79
+ secure_compare(::Digest::SHA256.hexdigest(a), ::Digest::SHA256.hexdigest(b))
80
+ end
81
+
82
+ def secure_compare(a, b)
83
+ return false unless a.bytesize == b.bytesize
84
+
85
+ l = a.unpack("C#{a.bytesize}")
86
+
87
+ res = 0
88
+ b.each_byte { |byte| res |= byte ^ l.shift } # steep:ignore ArgumentTypeMismatch
89
+ res == 0
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,7 @@
1
+ module Line
2
+ module Bot
3
+ # This version is updated before releasing a new version in the release process.
4
+ # You don't have to update this version manually.
5
+ VERSION = "1.30.0"
6
+ end
7
+ end
data/lib/line/bot.rb CHANGED
@@ -1,10 +1,10 @@
1
- # Copyright 2016 LINE
1
+ # Copyright 2016-2024 LINE
2
2
  #
3
3
  # LINE Corporation licenses this file to you under the Apache License,
4
4
  # version 2.0 (the "License"); you may not use this file except in compliance
5
5
  # with the License. You may obtain a copy of the License at:
6
6
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE_2.0
8
8
  #
9
9
  # Unless required by applicable law or agreed to in writing, software
10
10
  # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
@@ -12,10 +12,25 @@
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
14
 
15
- require 'line/bot/util'
16
- require 'line/bot/client'
17
- require 'line/bot/event'
18
- require 'line/bot/api/errors'
19
- require 'line/bot/api'
20
- require 'line/bot/httpclient'
21
- require 'line/bot/api/version'
15
+ # V1
16
+ require 'line/bot/v1/util'
17
+ require 'line/bot/v1/client'
18
+ require 'line/bot/v1/event'
19
+ require 'line/bot/v1/api/errors'
20
+ require 'line/bot/v1/api'
21
+ require 'line/bot/v1/httpclient'
22
+ require 'line/bot/v1/api/version'
23
+
24
+ # V2
25
+ require 'line/bot/v2/webhook_parser'
26
+
27
+ ## OpenAPI
28
+ require 'line/bot/v2/channel_access_token/core'
29
+ require 'line/bot/v2/insight/core'
30
+ require 'line/bot/v2/liff/core'
31
+ require 'line/bot/v2/manage_audience/core'
32
+ require 'line/bot/v2/messaging_api/core'
33
+ require 'line/bot/v2/module/core'
34
+ require 'line/bot/v2/module_attach/core'
35
+ require 'line/bot/v2/shop/core'
36
+ require 'line/bot/v2/webhook/core'
data/line-bot-api.gemspec CHANGED
@@ -1,26 +1,31 @@
1
- lib = File.expand_path('lib', __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'line/bot/api/version'
1
+ version = File.read("#{__dir__}/lib/line/bot/version.rb").match(/VERSION *= *['"]([^'"]+)/)[1] or raise
2
+ raise "Invalid version format <#{version}>" unless version.match?(/\A\d+\.\d+\.\d+(?:[+-][\w.-]+)?\z/)
4
3
 
5
4
  Gem::Specification.new do |spec|
6
- spec.name = "line-bot-api"
7
- spec.version = Line::Bot::API::VERSION
8
- spec.authors = ["LINE Corporation"]
9
- spec.email = ["kimoto@linecorp.com", "todaka.yusuke@linecorp.com", "masaki_kurosawa@linecorp.com"]
5
+ spec.name = "line-bot-api"
6
+ spec.version = version
7
+ spec.authors = ["LINE Corporation"]
10
8
 
11
- spec.description = "Line::Bot::API - SDK of the LINE Messaging API for Ruby"
12
- spec.summary = "SDK of the LINE Messaging API"
13
- spec.homepage = "https://github.com/line/line-bot-sdk-ruby"
14
- spec.license = "Apache-2.0"
9
+ spec.summary = "SDK of the LINE Messaging API for Ruby"
10
+ spec.description = "SDK of the LINE Messaging API for Ruby"
11
+ spec.homepage = "https://github.com/line/line-bot-sdk-ruby"
12
+ spec.license = "Apache-2.0"
15
13
 
16
- spec.files = %w(CONTRIBUTING.md LICENSE README.md line-bot-api.gemspec) + Dir['lib/**/*.rb']
17
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
14
+ spec.files = %w(CONTRIBUTING.md LICENSE README.md line-bot-api.gemspec) + Dir['lib/**/*.rb'] + Dir['sig/**/*.rbs']
18
15
  spec.require_paths = ["lib"]
19
16
 
20
- spec.required_ruby_version = '>= 2.4.0'
17
+ spec.metadata = {
18
+ "bug_tracker_uri" => "#{spec.homepage}/issues",
19
+ "changelog_uri" => "#{spec.homepage}/releases",
20
+ "documentation_uri" => "https://rubydoc.info/gems/#{spec.name}/#{spec.version}",
21
+ "homepage_uri" => spec.homepage,
22
+ "source_code_uri" => spec.homepage,
23
+ }
21
24
 
22
- spec.add_development_dependency "addressable", "~> 2.3"
23
- spec.add_development_dependency 'rake', "~> 13.0"
24
- spec.add_development_dependency "rspec", "~> 3.0"
25
- spec.add_development_dependency "webmock", "~> 3.8"
25
+ spec.required_ruby_version = '>= 3.2.0'
26
+
27
+ spec.add_runtime_dependency "multipart-post", "~> 2.4"
28
+
29
+ # gems that aren't default gems as of Ruby 3.4
30
+ spec.add_runtime_dependency "base64", "~> 0.2"
26
31
  end
@@ -0,0 +1,327 @@
1
+ # Channel Access Token API
2
+ # This document describes Channel Access Token API.
3
+ #
4
+ # The version of the OpenAPI document: 0.0.1
5
+ #
6
+ # NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ # https://openapi-generator.tech
8
+ # Do not edit the class manually.
9
+
10
+ module Line
11
+ module Bot
12
+ module V2
13
+ module ChannelAccessToken
14
+ class ApiClient
15
+ @http_client: HttpClient
16
+ # Initializes a new {Line::Bot::V2::ChannelAccessToken::ApiClient} instance.
17
+ #
18
+ # @param base_url [String] The base URL for requests (optional).
19
+ # Defaults to 'https://api.line.me' if none is provided.
20
+ # You can override this for testing or to use a mock server.
21
+ # @param http_options [Hash] HTTP options (same as Net::HTTP options).
22
+ # See: https://docs.ruby-lang.org/en/3.4/Net/HTTP.html to understand the options.
23
+ #
24
+ # @example
25
+ # @client ||= Line::Bot::V2::ChannelAccessToken::ApiClient.new(
26
+ # http_options: {
27
+ # open_timeout: 5,
28
+ # read_timeout: 5,
29
+ # }
30
+ # )
31
+ def initialize: (
32
+ ?base_url: String?,
33
+ ?http_options: Hash[String|Symbol, untyped]
34
+ ) -> void
35
+
36
+ # Gets all valid channel access token key IDs.
37
+ # This requests to <code>GET https://api.line.me/oauth2/v2.1/tokens/kid</code>
38
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
39
+ #
40
+ # @param client_assertion_type [String] `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`
41
+ # @param client_assertion [String] A JSON Web Token (JWT) (opens new window)the client needs to create and sign with the private key.
42
+ # @see https://developers.line.biz/en/reference/messaging-api/#get-all-valid-channel-access-token-key-ids-v2-1
43
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::ChannelAccessTokenKeyIdsResponse, Integer, Hash{String => String})] when HTTP status code is 200
44
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
45
+ def gets_all_valid_channel_access_token_key_ids_with_http_info: (
46
+ client_assertion_type: String,
47
+ client_assertion: String
48
+ ) -> (
49
+ [ChannelAccessTokenKeyIdsResponse, 200, Hash[untyped, untyped]] # when HTTP status code is 200
50
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
51
+ )
52
+
53
+ # Gets all valid channel access token key IDs.
54
+ # This requests to <code>GET https://api.line.me/oauth2/v2.1/tokens/kid</code>
55
+ # When you want to get HTTP status code or response headers, use {#gets_all_valid_channel_access_token_key_ids_with_http_info} instead of this.
56
+ #
57
+ # @param client_assertion_type [String] `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`
58
+ # @param client_assertion [String] A JSON Web Token (JWT) (opens new window)the client needs to create and sign with the private key.
59
+ # @see https://developers.line.biz/en/reference/messaging-api/#get-all-valid-channel-access-token-key-ids-v2-1
60
+ # @return [Line::Bot::V2::ChannelAccessToken::ChannelAccessTokenKeyIdsResponse] when HTTP status code is 200
61
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
62
+ def gets_all_valid_channel_access_token_key_ids: (
63
+ client_assertion_type: String,
64
+ client_assertion: String
65
+ ) -> (
66
+ ChannelAccessTokenKeyIdsResponse # when HTTP status code is 200
67
+ | String? # otherwise
68
+ )
69
+
70
+ # Issue short-lived channel access token
71
+ # This requests to <code>POST https://api.line.me/v2/oauth/accessToken</code>
72
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
73
+ #
74
+ # @param grant_type [String] `client_credentials`
75
+ # @param client_id [String] Channel ID.
76
+ # @param client_secret [String] Channel secret.
77
+ # @see https://developers.line.biz/en/reference/messaging-api/#issue-shortlived-channel-access-token
78
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::IssueShortLivedChannelAccessTokenResponse, Integer, Hash{String => String})] when HTTP status code is 200
79
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::ErrorResponse, Integer, Hash{String => String})] when HTTP status code is 400
80
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
81
+ def issue_channel_token_with_http_info: (
82
+ grant_type: String,
83
+ client_id: String,
84
+ client_secret: String
85
+ ) -> (
86
+ [IssueShortLivedChannelAccessTokenResponse, 200, Hash[untyped, untyped]] # when HTTP status code is 200
87
+ | [ErrorResponse, 400, Hash[untyped, untyped]] # when HTTP status code is 400
88
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
89
+ )
90
+
91
+ # Issue short-lived channel access token
92
+ # This requests to <code>POST https://api.line.me/v2/oauth/accessToken</code>
93
+ # When you want to get HTTP status code or response headers, use {#issue_channel_token_with_http_info} instead of this.
94
+ #
95
+ # @param grant_type [String] `client_credentials`
96
+ # @param client_id [String] Channel ID.
97
+ # @param client_secret [String] Channel secret.
98
+ # @see https://developers.line.biz/en/reference/messaging-api/#issue-shortlived-channel-access-token
99
+ # @return [Line::Bot::V2::ChannelAccessToken::IssueShortLivedChannelAccessTokenResponse] when HTTP status code is 200
100
+ # @return [Line::Bot::V2::ChannelAccessToken::ErrorResponse] when HTTP status code is 400
101
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
102
+ def issue_channel_token: (
103
+ grant_type: String,
104
+ client_id: String,
105
+ client_secret: String
106
+ ) -> (
107
+ IssueShortLivedChannelAccessTokenResponse # when HTTP status code is 200
108
+ | ErrorResponse # when HTTP status code is 400
109
+ | String? # otherwise
110
+ )
111
+
112
+ # Issues a channel access token that allows you to specify a desired expiration date. This method lets you use JWT assertion for authentication.
113
+ # This requests to <code>POST https://api.line.me/oauth2/v2.1/token</code>
114
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
115
+ #
116
+ # @param grant_type [String] client_credentials
117
+ # @param client_assertion_type [String] urn:ietf:params:oauth:client-assertion-type:jwt-bearer
118
+ # @param client_assertion [String] A JSON Web Token the client needs to create and sign with the private key of the Assertion Signing Key.
119
+ # @see https://developers.line.biz/en/reference/messaging-api/#issue-channel-access-token-v2-1
120
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::IssueChannelAccessTokenResponse, Integer, Hash{String => String})] when HTTP status code is 200
121
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
122
+ def issue_channel_token_by_jwt_with_http_info: (
123
+ grant_type: String,
124
+ client_assertion_type: String,
125
+ client_assertion: String
126
+ ) -> (
127
+ [IssueChannelAccessTokenResponse, 200, Hash[untyped, untyped]] # when HTTP status code is 200
128
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
129
+ )
130
+
131
+ # Issues a channel access token that allows you to specify a desired expiration date. This method lets you use JWT assertion for authentication.
132
+ # This requests to <code>POST https://api.line.me/oauth2/v2.1/token</code>
133
+ # When you want to get HTTP status code or response headers, use {#issue_channel_token_by_jwt_with_http_info} instead of this.
134
+ #
135
+ # @param grant_type [String] client_credentials
136
+ # @param client_assertion_type [String] urn:ietf:params:oauth:client-assertion-type:jwt-bearer
137
+ # @param client_assertion [String] A JSON Web Token the client needs to create and sign with the private key of the Assertion Signing Key.
138
+ # @see https://developers.line.biz/en/reference/messaging-api/#issue-channel-access-token-v2-1
139
+ # @return [Line::Bot::V2::ChannelAccessToken::IssueChannelAccessTokenResponse] when HTTP status code is 200
140
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
141
+ def issue_channel_token_by_jwt: (
142
+ grant_type: String,
143
+ client_assertion_type: String,
144
+ client_assertion: String
145
+ ) -> (
146
+ IssueChannelAccessTokenResponse # when HTTP status code is 200
147
+ | String? # otherwise
148
+ )
149
+
150
+ # Issues a new stateless channel access token, which doesn't have max active token limit unlike the other token types. The newly issued token is only valid for 15 minutes but can not be revoked until it naturally expires.
151
+ # This requests to <code>POST https://api.line.me/oauth2/v3/token</code>
152
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
153
+ #
154
+ # @param grant_type [String, nil] `client_credentials`
155
+ # @param client_assertion_type [String, nil] URL-encoded value of `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`
156
+ # @param client_assertion [String, nil] A JSON Web Token the client needs to create and sign with the private key of the Assertion Signing Key.
157
+ # @param client_id [String, nil] Channel ID.
158
+ # @param client_secret [String, nil] Channel secret.
159
+ # @see https://developers.line.biz/en/reference/messaging-api/#issue-stateless-channel-access-token
160
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::IssueStatelessChannelAccessTokenResponse, Integer, Hash{String => String})] when HTTP status code is 200
161
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
162
+ def issue_stateless_channel_token_with_http_info: (
163
+ ?grant_type: String?,
164
+ ?client_assertion_type: String?,
165
+ ?client_assertion: String?,
166
+ ?client_id: String?,
167
+ ?client_secret: String?
168
+ ) -> (
169
+ [IssueStatelessChannelAccessTokenResponse, 200, Hash[untyped, untyped]] # when HTTP status code is 200
170
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
171
+ )
172
+
173
+ # Issues a new stateless channel access token, which doesn't have max active token limit unlike the other token types. The newly issued token is only valid for 15 minutes but can not be revoked until it naturally expires.
174
+ # This requests to <code>POST https://api.line.me/oauth2/v3/token</code>
175
+ # When you want to get HTTP status code or response headers, use {#issue_stateless_channel_token_with_http_info} instead of this.
176
+ #
177
+ # @param grant_type [String, nil] `client_credentials`
178
+ # @param client_assertion_type [String, nil] URL-encoded value of `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`
179
+ # @param client_assertion [String, nil] A JSON Web Token the client needs to create and sign with the private key of the Assertion Signing Key.
180
+ # @param client_id [String, nil] Channel ID.
181
+ # @param client_secret [String, nil] Channel secret.
182
+ # @see https://developers.line.biz/en/reference/messaging-api/#issue-stateless-channel-access-token
183
+ # @return [Line::Bot::V2::ChannelAccessToken::IssueStatelessChannelAccessTokenResponse] when HTTP status code is 200
184
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
185
+ def issue_stateless_channel_token: (
186
+ ?grant_type: String?,
187
+ ?client_assertion_type: String?,
188
+ ?client_assertion: String?,
189
+ ?client_id: String?,
190
+ ?client_secret: String?
191
+ ) -> (
192
+ IssueStatelessChannelAccessTokenResponse # when HTTP status code is 200
193
+ | String? # otherwise
194
+ )
195
+
196
+ # Revoke short-lived or long-lived channel access token
197
+ # This requests to <code>POST https://api.line.me/v2/oauth/revoke</code>
198
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
199
+ #
200
+ # @param access_token [String] Channel access token
201
+ # @see https://developers.line.biz/en/reference/messaging-api/#revoke-longlived-or-shortlived-channel-access-token
202
+ # @return [Array((String|nil), Integer, Hash{String => String})] when HTTP status code is 200
203
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
204
+ def revoke_channel_token_with_http_info: (
205
+ access_token: String
206
+ ) -> (
207
+ [String?, 200, Hash[untyped, untyped]] # when HTTP status code is 200
208
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
209
+ )
210
+
211
+ # Revoke short-lived or long-lived channel access token
212
+ # This requests to <code>POST https://api.line.me/v2/oauth/revoke</code>
213
+ # When you want to get HTTP status code or response headers, use {#revoke_channel_token_with_http_info} instead of this.
214
+ #
215
+ # @param access_token [String] Channel access token
216
+ # @see https://developers.line.biz/en/reference/messaging-api/#revoke-longlived-or-shortlived-channel-access-token
217
+ # @return [String, nil] when HTTP status code is 200
218
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
219
+ def revoke_channel_token: (
220
+ access_token: String
221
+ ) -> (
222
+ String? # when HTTP status code is 200
223
+ | String? # otherwise
224
+ )
225
+
226
+ # Revoke channel access token v2.1
227
+ # This requests to <code>POST https://api.line.me/oauth2/v2.1/revoke</code>
228
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
229
+ #
230
+ # @param client_id [String] Channel ID
231
+ # @param client_secret [String] Channel Secret
232
+ # @param access_token [String] Channel access token
233
+ # @see https://developers.line.biz/en/reference/messaging-api/#revoke-channel-access-token-v2-1
234
+ # @return [Array((String|nil), Integer, Hash{String => String})] when HTTP status code is 200
235
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
236
+ def revoke_channel_token_by_jwt_with_http_info: (
237
+ client_id: String,
238
+ client_secret: String,
239
+ access_token: String
240
+ ) -> (
241
+ [String?, 200, Hash[untyped, untyped]] # when HTTP status code is 200
242
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
243
+ )
244
+
245
+ # Revoke channel access token v2.1
246
+ # This requests to <code>POST https://api.line.me/oauth2/v2.1/revoke</code>
247
+ # When you want to get HTTP status code or response headers, use {#revoke_channel_token_by_jwt_with_http_info} instead of this.
248
+ #
249
+ # @param client_id [String] Channel ID
250
+ # @param client_secret [String] Channel Secret
251
+ # @param access_token [String] Channel access token
252
+ # @see https://developers.line.biz/en/reference/messaging-api/#revoke-channel-access-token-v2-1
253
+ # @return [String, nil] when HTTP status code is 200
254
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
255
+ def revoke_channel_token_by_jwt: (
256
+ client_id: String,
257
+ client_secret: String,
258
+ access_token: String
259
+ ) -> (
260
+ String? # when HTTP status code is 200
261
+ | String? # otherwise
262
+ )
263
+
264
+ # Verify the validity of short-lived and long-lived channel access tokens
265
+ # This requests to <code>POST https://api.line.me/v2/oauth/verify</code>
266
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
267
+ #
268
+ # @param access_token [String] A short-lived or long-lived channel access token.
269
+ # @see https://developers.line.biz/en/reference/messaging-api/#verify-channel-access-token
270
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse, Integer, Hash{String => String})] when HTTP status code is 200
271
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
272
+ def verify_channel_token_with_http_info: (
273
+ access_token: String
274
+ ) -> (
275
+ [VerifyChannelAccessTokenResponse, 200, Hash[untyped, untyped]] # when HTTP status code is 200
276
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
277
+ )
278
+
279
+ # Verify the validity of short-lived and long-lived channel access tokens
280
+ # This requests to <code>POST https://api.line.me/v2/oauth/verify</code>
281
+ # When you want to get HTTP status code or response headers, use {#verify_channel_token_with_http_info} instead of this.
282
+ #
283
+ # @param access_token [String] A short-lived or long-lived channel access token.
284
+ # @see https://developers.line.biz/en/reference/messaging-api/#verify-channel-access-token
285
+ # @return [Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse] when HTTP status code is 200
286
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
287
+ def verify_channel_token: (
288
+ access_token: String
289
+ ) -> (
290
+ VerifyChannelAccessTokenResponse # when HTTP status code is 200
291
+ | String? # otherwise
292
+ )
293
+
294
+ # You can verify whether a Channel access token with a user-specified expiration (Channel Access Token v2.1) is valid.
295
+ # This requests to <code>GET https://api.line.me/oauth2/v2.1/verify</code>
296
+ # This returns an array containing response, HTTP status code, and header in order. Please specify all header keys in lowercase.
297
+ #
298
+ # @param access_token [String] Channel access token with a user-specified expiration (Channel Access Token v2.1).
299
+ # @see https://developers.line.biz/en/reference/messaging-api/#verify-channel-access-token-v2-1
300
+ # @return [Array(Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse, Integer, Hash{String => String})] when HTTP status code is 200
301
+ # @return [Array((String|nil), Integer, Hash{String => String})] when other HTTP status code is returned. String is HTTP response body itself.
302
+ def verify_channel_token_by_jwt_with_http_info: (
303
+ access_token: String
304
+ ) -> (
305
+ [VerifyChannelAccessTokenResponse, 200, Hash[untyped, untyped]] # when HTTP status code is 200
306
+ | [String?, Integer, Hash[untyped, untyped]] # otherwise
307
+ )
308
+
309
+ # You can verify whether a Channel access token with a user-specified expiration (Channel Access Token v2.1) is valid.
310
+ # This requests to <code>GET https://api.line.me/oauth2/v2.1/verify</code>
311
+ # When you want to get HTTP status code or response headers, use {#verify_channel_token_by_jwt_with_http_info} instead of this.
312
+ #
313
+ # @param access_token [String] Channel access token with a user-specified expiration (Channel Access Token v2.1).
314
+ # @see https://developers.line.biz/en/reference/messaging-api/#verify-channel-access-token-v2-1
315
+ # @return [Line::Bot::V2::ChannelAccessToken::VerifyChannelAccessTokenResponse] when HTTP status code is 200
316
+ # @return [String, nil] when other HTTP status code is returned. This String is HTTP response body itself.
317
+ def verify_channel_token_by_jwt: (
318
+ access_token: String
319
+ ) -> (
320
+ VerifyChannelAccessTokenResponse # when HTTP status code is 200
321
+ | String? # otherwise
322
+ )
323
+ end
324
+ end
325
+ end
326
+ end
327
+ end