linq-python 0.66.0__tar.gz → 0.67.0__tar.gz

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 (332) hide show
  1. linq_python-0.67.0/.release-please-manifest.json +3 -0
  2. {linq_python-0.66.0 → linq_python-0.67.0}/CHANGELOG.md +7 -0
  3. {linq_python-0.66.0 → linq_python-0.67.0}/PKG-INFO +1 -1
  4. {linq_python-0.66.0 → linq_python-0.67.0}/pyproject.toml +1 -1
  5. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_version.py +1 -1
  6. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/messages/messages.py +40 -22
  7. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_add_reaction_params.py +17 -10
  8. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reaction_event_base.py +14 -10
  9. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/reaction.py +11 -10
  10. {linq_python-0.66.0 → linq_python-0.67.0}/uv.lock +1 -1
  11. linq_python-0.66.0/.release-please-manifest.json +0 -3
  12. {linq_python-0.66.0 → linq_python-0.67.0}/.gitignore +0 -0
  13. {linq_python-0.66.0 → linq_python-0.67.0}/CONTRIBUTING.md +0 -0
  14. {linq_python-0.66.0 → linq_python-0.67.0}/LICENSE +0 -0
  15. {linq_python-0.66.0 → linq_python-0.67.0}/README.md +0 -0
  16. {linq_python-0.66.0 → linq_python-0.67.0}/SECURITY.md +0 -0
  17. {linq_python-0.66.0 → linq_python-0.67.0}/api.md +0 -0
  18. {linq_python-0.66.0 → linq_python-0.67.0}/bin/check-release-environment +0 -0
  19. {linq_python-0.66.0 → linq_python-0.67.0}/bin/publish-pypi +0 -0
  20. {linq_python-0.66.0 → linq_python-0.67.0}/examples/.keep +0 -0
  21. {linq_python-0.66.0 → linq_python-0.67.0}/release-please-config.json +0 -0
  22. {linq_python-0.66.0 → linq_python-0.67.0}/requirements-dev.lock +0 -0
  23. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/__init__.py +0 -0
  24. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_base_client.py +0 -0
  25. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_client.py +0 -0
  26. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_compat.py +0 -0
  27. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_constants.py +0 -0
  28. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_exceptions.py +0 -0
  29. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_files.py +0 -0
  30. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_models.py +0 -0
  31. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_qs.py +0 -0
  32. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_resource.py +0 -0
  33. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_response.py +0 -0
  34. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_streaming.py +0 -0
  35. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_types.py +0 -0
  36. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/__init__.py +0 -0
  37. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_compat.py +0 -0
  38. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_datetime_parse.py +0 -0
  39. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_json.py +0 -0
  40. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_logs.py +0 -0
  41. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_path.py +0 -0
  42. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_proxy.py +0 -0
  43. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_reflection.py +0 -0
  44. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_resources_proxy.py +0 -0
  45. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_streams.py +0 -0
  46. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_sync.py +0 -0
  47. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_transform.py +0 -0
  48. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_typing.py +0 -0
  49. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/_utils/_utils.py +0 -0
  50. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/lib/.keep +0 -0
  51. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/pagination.py +0 -0
  52. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/py.typed +0 -0
  53. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/__init__.py +0 -0
  54. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/attachments.py +0 -0
  55. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/available_number.py +0 -0
  56. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/blocked_handles.py +0 -0
  57. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/call_voice.py +0 -0
  58. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/capability.py +0 -0
  59. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/__init__.py +0 -0
  60. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/background.py +0 -0
  61. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/chats.py +0 -0
  62. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/location.py +0 -0
  63. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/messages.py +0 -0
  64. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/participants.py +0 -0
  65. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/polls.py +0 -0
  66. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/chats/typing.py +0 -0
  67. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/contact_card.py +0 -0
  68. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/experiences.py +0 -0
  69. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/messages/__init__.py +0 -0
  70. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/messages/poll.py +0 -0
  71. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/payment_handles.py +0 -0
  72. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/payment_providers.py +0 -0
  73. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/payment_requests.py +0 -0
  74. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/payments.py +0 -0
  75. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/phone_numbers.py +0 -0
  76. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/phonenumbers.py +0 -0
  77. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/sip_profiles.py +0 -0
  78. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/webhook_events.py +0 -0
  79. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/webhook_subscriptions.py +0 -0
  80. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/resources/webhooks.py +0 -0
  81. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/__init__.py +0 -0
  82. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/api_token_activated_webhook_event.py +0 -0
  83. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/api_token_created_webhook_event.py +0 -0
  84. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/api_token_deleted_webhook_event.py +0 -0
  85. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/api_token_expired_webhook_event.py +0 -0
  86. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/api_token_expiry_scheduled_webhook_event.py +0 -0
  87. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/api_token_renamed_webhook_event.py +0 -0
  88. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/attachment_create_params.py +0 -0
  89. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/attachment_create_response.py +0 -0
  90. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/attachment_retrieve_response.py +0 -0
  91. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/available_number_retrieve_params.py +0 -0
  92. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/available_number_retrieve_response.py +0 -0
  93. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/blocked_handle_block_params.py +0 -0
  94. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/blocked_handle_block_response.py +0 -0
  95. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/blocked_handle_entry.py +0 -0
  96. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/blocked_handle_list_response.py +0 -0
  97. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/blocked_handle_unblock_params.py +0 -0
  98. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_answered_webhook_event.py +0 -0
  99. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_declined_webhook_event.py +0 -0
  100. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_ended_webhook_event.py +0 -0
  101. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_failed_webhook_event.py +0 -0
  102. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_initiated_webhook_event.py +0 -0
  103. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_list_params.py +0 -0
  104. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_list_response.py +0 -0
  105. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_no_answer_webhook_event.py +0 -0
  106. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_record.py +0 -0
  107. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/call_voice_ringing_webhook_event.py +0 -0
  108. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/capability_check_RCS_params.py +0 -0
  109. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/capability_check_i_message_params.py +0 -0
  110. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat.py +0 -0
  111. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_background_update_failed_webhook_event.py +0 -0
  112. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_background_updated_webhook_event.py +0 -0
  113. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_create_params.py +0 -0
  114. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_create_response.py +0 -0
  115. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_created_webhook_event.py +0 -0
  116. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
  117. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
  118. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
  119. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
  120. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_leave_chat_response.py +0 -0
  121. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_list_chats_params.py +0 -0
  122. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
  123. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
  124. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
  125. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
  126. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_update_params.py +0 -0
  127. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chat_update_response.py +0 -0
  128. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/__init__.py +0 -0
  129. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/background_set_params.py +0 -0
  130. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/get_chat_location_response.py +0 -0
  131. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/location_request_response.py +0 -0
  132. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/location_stop_params.py +0 -0
  133. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/message_list_params.py +0 -0
  134. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/message_send_params.py +0 -0
  135. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/message_send_response.py +0 -0
  136. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/participant_add_params.py +0 -0
  137. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/participant_add_response.py +0 -0
  138. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/participant_remove_params.py +0 -0
  139. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/participant_remove_response.py +0 -0
  140. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/poll.py +0 -0
  141. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/poll_create_params.py +0 -0
  142. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/poll_envelope.py +0 -0
  143. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/sent_message.py +0 -0
  144. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/chats/stop_chat_location_sharing_response.py +0 -0
  145. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/connection_created_webhook_event.py +0 -0
  146. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/connection_revoked_webhook_event.py +0 -0
  147. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_create_params.py +0 -0
  148. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_created_webhook_event.py +0 -0
  149. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_deleted_webhook_event.py +0 -0
  150. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_received_webhook_event.py +0 -0
  151. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
  152. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
  153. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_update_params.py +0 -0
  154. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/contact_card_updated_webhook_event.py +0 -0
  155. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/environment_created_webhook_event.py +0 -0
  156. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/environment_deleted_webhook_event.py +0 -0
  157. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/environment_line_moved_webhook_event.py +0 -0
  158. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/environment_renamed_webhook_event.py +0 -0
  159. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/experience_list_response.py +0 -0
  160. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/experience_retrieve_response.py +0 -0
  161. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/handle_check_response.py +0 -0
  162. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/inline_sticker_param.py +0 -0
  163. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/link_part_param.py +0 -0
  164. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/location_sharing_started_webhook_event.py +0 -0
  165. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/location_sharing_stopped_webhook_event.py +0 -0
  166. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/media_part_param.py +0 -0
  167. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message.py +0 -0
  168. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_add_reaction_response.py +0 -0
  169. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_content_param.py +0 -0
  170. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_create_params.py +0 -0
  171. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_create_response.py +0 -0
  172. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
  173. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_edited_webhook_event.py +0 -0
  174. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_effect.py +0 -0
  175. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_effect_param.py +0 -0
  176. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_event_v2.py +0 -0
  177. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_failed_webhook_event.py +0 -0
  178. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
  179. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_read_webhook_event.py +0 -0
  180. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_received_webhook_event.py +0 -0
  181. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_sent_webhook_event.py +0 -0
  182. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_update_app_card_params.py +0 -0
  183. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_update_app_card_response.py +0 -0
  184. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_update_params.py +0 -0
  185. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_update_sticker_placement_params.py +0 -0
  186. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/message_update_sticker_placement_response.py +0 -0
  187. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/messages/__init__.py +0 -0
  188. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/messages/poll_add_options_params.py +0 -0
  189. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/messages/poll_vote_params.py +0 -0
  190. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/participant_added_webhook_event.py +0 -0
  191. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
  192. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment.py +0 -0
  193. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_authorized_webhook_event.py +0 -0
  194. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_canceled_webhook_event.py +0 -0
  195. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_create_params.py +0 -0
  196. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_credentials_response.py +0 -0
  197. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_declined_webhook_event.py +0 -0
  198. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_expired_webhook_event.py +0 -0
  199. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_handle_connection.py +0 -0
  200. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_handle_verify_params.py +0 -0
  201. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_provider.py +0 -0
  202. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_provider_connect_params.py +0 -0
  203. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_provider_connect_response.py +0 -0
  204. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_request.py +0 -0
  205. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_request_create_params.py +0 -0
  206. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_request_list_params.py +0 -0
  207. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_request_list_response.py +0 -0
  208. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/payment_succeeded_webhook_event.py +0 -0
  209. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_assigned_webhook_event.py +0 -0
  210. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_forwarding_updated_webhook_event.py +0 -0
  211. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_line_type_updated_webhook_event.py +0 -0
  212. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_list_response.py +0 -0
  213. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_released_webhook_event.py +0 -0
  214. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
  215. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_update_params.py +0 -0
  216. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phone_number_update_response.py +0 -0
  217. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/phonenumber_list_response.py +0 -0
  218. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_delivered_webhook_event.py +0 -0
  219. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_failed_webhook_event.py +0 -0
  220. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_reaction_added_webhook_event.py +0 -0
  221. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_read_webhook_event.py +0 -0
  222. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_received_webhook_event.py +0 -0
  223. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_sent_webhook_event.py +0 -0
  224. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_updated_webhook_event.py +0 -0
  225. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_vote_added_webhook_event.py +0 -0
  226. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/poll_vote_removed_webhook_event.py +0 -0
  227. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
  228. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
  229. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reply_to.py +0 -0
  230. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reply_to_param.py +0 -0
  231. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_action_item.py +0 -0
  232. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_audit.py +0 -0
  233. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_audit_started.py +0 -0
  234. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_driver.py +0 -0
  235. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_driver_key.py +0 -0
  236. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_evidence.py +0 -0
  237. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_opt_out_chat.py +0 -0
  238. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_report.py +0 -0
  239. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/reputation_unhealthy_chat.py +0 -0
  240. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/schemas_media_part_response.py +0 -0
  241. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/schemas_message_effect.py +0 -0
  242. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/schemas_text_part_response.py +0 -0
  243. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/set_contact_card.py +0 -0
  244. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/__init__.py +0 -0
  245. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/chat_handle.py +0 -0
  246. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/inline_sticker_response.py +0 -0
  247. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/link_part_response.py +0 -0
  248. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/media_part_response.py +0 -0
  249. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/reaction_type.py +0 -0
  250. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/service_type.py +0 -0
  251. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/text_decoration.py +0 -0
  252. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared/text_part_response.py +0 -0
  253. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared_params/__init__.py +0 -0
  254. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared_params/reaction_type.py +0 -0
  255. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared_params/service_type.py +0 -0
  256. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/shared_params/text_decoration.py +0 -0
  257. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/sip_profile.py +0 -0
  258. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/sip_profile_assign_params.py +0 -0
  259. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/sip_profile_assign_response.py +0 -0
  260. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/sip_profile_create_params.py +0 -0
  261. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/sip_profile_list_response.py +0 -0
  262. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/sip_profile_update_params.py +0 -0
  263. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/supported_content_type.py +0 -0
  264. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/team_member_added_webhook_event.py +0 -0
  265. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/team_member_signed_in_webhook_event.py +0 -0
  266. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/team_member_signed_out_webhook_event.py +0 -0
  267. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/text_part_param.py +0 -0
  268. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/unwrap_webhook_event.py +0 -0
  269. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_event_list_response.py +0 -0
  270. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_event_type.py +0 -0
  271. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription.py +0 -0
  272. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
  273. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
  274. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_created_webhook_event.py +0 -0
  275. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_deleted_webhook_event.py +0 -0
  276. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_disabled_webhook_event.py +0 -0
  277. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_enabled_webhook_event.py +0 -0
  278. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_events_updated_webhook_event.py +0 -0
  279. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
  280. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_phone_numbers_updated_webhook_event.py +0 -0
  281. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_routing_headers_cleared_webhook_event.py +0 -0
  282. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_routing_headers_set_webhook_event.py +0 -0
  283. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_target_url_changed_webhook_event.py +0 -0
  284. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
  285. {linq_python-0.66.0 → linq_python-0.67.0}/src/linq/types/zero_day_retention_updated_webhook_event.py +0 -0
  286. {linq_python-0.66.0 → linq_python-0.67.0}/tests/__init__.py +0 -0
  287. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/__init__.py +0 -0
  288. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/__init__.py +0 -0
  289. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/test_background.py +0 -0
  290. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/test_location.py +0 -0
  291. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/test_messages.py +0 -0
  292. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/test_participants.py +0 -0
  293. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/test_polls.py +0 -0
  294. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/chats/test_typing.py +0 -0
  295. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/messages/__init__.py +0 -0
  296. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/messages/test_poll.py +0 -0
  297. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_attachments.py +0 -0
  298. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_available_number.py +0 -0
  299. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_blocked_handles.py +0 -0
  300. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_call_voice.py +0 -0
  301. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_capability.py +0 -0
  302. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_chats.py +0 -0
  303. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_contact_card.py +0 -0
  304. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_experiences.py +0 -0
  305. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_messages.py +0 -0
  306. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_payment_handles.py +0 -0
  307. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_payment_providers.py +0 -0
  308. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_payment_requests.py +0 -0
  309. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_payments.py +0 -0
  310. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_phone_numbers.py +0 -0
  311. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_phonenumbers.py +0 -0
  312. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_sip_profiles.py +0 -0
  313. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_webhook_events.py +0 -0
  314. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  315. {linq_python-0.66.0 → linq_python-0.67.0}/tests/api_resources/test_webhooks.py +0 -0
  316. {linq_python-0.66.0 → linq_python-0.67.0}/tests/conftest.py +0 -0
  317. {linq_python-0.66.0 → linq_python-0.67.0}/tests/sample_file.txt +0 -0
  318. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_client.py +0 -0
  319. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_extract_files.py +0 -0
  320. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_files.py +0 -0
  321. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_models.py +0 -0
  322. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_qs.py +0 -0
  323. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_required_args.py +0 -0
  324. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_response.py +0 -0
  325. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_streaming.py +0 -0
  326. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_transform.py +0 -0
  327. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_utils/test_datetime_parse.py +0 -0
  328. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_utils/test_json.py +0 -0
  329. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_utils/test_path.py +0 -0
  330. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_utils/test_proxy.py +0 -0
  331. {linq_python-0.66.0 → linq_python-0.67.0}/tests/test_utils/test_typing.py +0 -0
  332. {linq_python-0.66.0 → linq_python-0.67.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.67.0"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.67.0](https://github.com/linq-team/linq-python/compare/v0.66.0...v0.67.0) (2026-11-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * support image tapbacks and improve reaction documentation ([1c79845](https://github.com/linq-team/linq-python/commit/1c79845c8b872761fbfd8b62cd7c9084224c0075))
9
+
3
10
  ## [0.66.0](https://github.com/linq-team/linq-python/compare/v0.65.0...v0.66.0) (2026-11-06)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.66.0
3
+ Version: 0.67.0
4
4
  Summary: The official Python library for the linq-api-v3 API
5
5
  Project-URL: Homepage, https://github.com/linq-team/linq-python
6
6
  Project-URL: Repository, https://github.com/linq-team/linq-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "linq-python"
3
- version = "0.66.0"
3
+ version = "0.67.0"
4
4
  description = "The official Python library for the linq-api-v3 API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "linq"
4
- __version__ = "0.66.0" # x-release-please-version
4
+ __version__ = "0.67.0" # x-release-please-version
@@ -513,7 +513,8 @@ class MessagesResource(SyncAPIResource):
513
513
  - laugh 😂
514
514
  - emphasize ‼️
515
515
  - question ❓
516
- - custom - any emoji as a tapback (use `custom_emoji` field to specify)
516
+ - custom - any emoji or image as a tapback (use `custom_emoji` for an emoji, or
517
+ `url` / `attachment_id` for an image)
517
518
  - sticker - an emoji or image peeled onto the message (use `emoji`, `url` or
518
519
  `attachment_id`)
519
520
 
@@ -522,6 +523,9 @@ class MessagesResource(SyncAPIResource):
522
523
  `sticker` is peeled onto the bubble itself, and can be dragged, resized and
523
524
  rotated. Both accept an emoji; they do not look alike.
524
525
 
526
+ **Image tapbacks** are iMessage-only. Remove one with `operation: "remove"` and
527
+ `type: "custom"`; no image is needed.
528
+
525
529
  **Stickers** are iMessage-only and cannot be removed, so `operation: "remove"`
526
530
  with `type: "sticker"` is rejected. Position, size and rotation are optional via
527
531
  `placement`, and can be changed afterwards with
@@ -535,17 +539,21 @@ class MessagesResource(SyncAPIResource):
535
539
  operation: Whether to add or remove the reaction
536
540
 
537
541
  type: Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
538
- emphasize, question. Custom emoji reactions have type "custom" with the actual
539
- emoji in the custom_emoji field. Sticker reactions have type "sticker" with
540
- sticker attachment details in the sticker field.
542
+ emphasize, question. Custom tapbacks have type "custom": an emoji tapback
543
+ carries the emoji in the custom_emoji field, and an image tapback carries the
544
+ image in the sticker field. Sticker reactions have type "sticker" with sticker
545
+ attachment details in the sticker field.
541
546
 
542
- attachment_id: Reference to a sticker image pre-uploaded via `POST /v3/attachments`. Only valid
543
- when type is "sticker".
547
+ attachment_id: Reference to an image pre-uploaded via `POST /v3/attachments`. Valid when type
548
+ is "sticker", or when adding a type "custom" reaction to make it an image
549
+ tapback.
544
550
 
545
551
  Exactly one of `emoji`, `url` or `attachment_id` is required when type is
546
552
  "sticker".
547
553
 
548
- custom_emoji: Custom emoji string. Required when type is "custom".
554
+ custom_emoji: Custom emoji string. When adding a type "custom" reaction, provide exactly one
555
+ of `custom_emoji`, `url` or `attachment_id`. To remove an emoji reaction, pass
556
+ the same `custom_emoji`.
549
557
 
550
558
  This is a **tapback** — the emoji sits in the tapback bubble on the corner of
551
559
  the message. To peel an emoji onto the message as a draggable sticker instead,
@@ -568,11 +576,12 @@ class MessagesResource(SyncAPIResource):
568
576
  Every field is independent and optional — omit the object entirely, or any field
569
577
  within it, to keep the default (centred, default size, unrotated).
570
578
 
571
- url: Linq attachment URL of the sticker image — the `download_url` returned by
572
- `POST /v3/attachments`. Only valid when type is "sticker".
579
+ url: Linq attachment URL of the image — the `download_url` returned by
580
+ `POST /v3/attachments`. Valid when type is "sticker", or when adding a type
581
+ "custom" reaction to make it an image tapback.
573
582
 
574
- The image must already be stored with us. To send a sticker from elsewhere,
575
- upload it with `POST /v3/attachments` first and pass `attachment_id`.
583
+ The image must already be stored with us. To use an image from elsewhere, upload
584
+ it with `POST /v3/attachments` first and pass `attachment_id`.
576
585
 
577
586
  Exactly one of `emoji`, `url` or `attachment_id` is required when type is
578
587
  "sticker".
@@ -1311,7 +1320,8 @@ class AsyncMessagesResource(AsyncAPIResource):
1311
1320
  - laugh 😂
1312
1321
  - emphasize ‼️
1313
1322
  - question ❓
1314
- - custom - any emoji as a tapback (use `custom_emoji` field to specify)
1323
+ - custom - any emoji or image as a tapback (use `custom_emoji` for an emoji, or
1324
+ `url` / `attachment_id` for an image)
1315
1325
  - sticker - an emoji or image peeled onto the message (use `emoji`, `url` or
1316
1326
  `attachment_id`)
1317
1327
 
@@ -1320,6 +1330,9 @@ class AsyncMessagesResource(AsyncAPIResource):
1320
1330
  `sticker` is peeled onto the bubble itself, and can be dragged, resized and
1321
1331
  rotated. Both accept an emoji; they do not look alike.
1322
1332
 
1333
+ **Image tapbacks** are iMessage-only. Remove one with `operation: "remove"` and
1334
+ `type: "custom"`; no image is needed.
1335
+
1323
1336
  **Stickers** are iMessage-only and cannot be removed, so `operation: "remove"`
1324
1337
  with `type: "sticker"` is rejected. Position, size and rotation are optional via
1325
1338
  `placement`, and can be changed afterwards with
@@ -1333,17 +1346,21 @@ class AsyncMessagesResource(AsyncAPIResource):
1333
1346
  operation: Whether to add or remove the reaction
1334
1347
 
1335
1348
  type: Type of reaction. Standard iMessage tapbacks are love, like, dislike, laugh,
1336
- emphasize, question. Custom emoji reactions have type "custom" with the actual
1337
- emoji in the custom_emoji field. Sticker reactions have type "sticker" with
1338
- sticker attachment details in the sticker field.
1349
+ emphasize, question. Custom tapbacks have type "custom": an emoji tapback
1350
+ carries the emoji in the custom_emoji field, and an image tapback carries the
1351
+ image in the sticker field. Sticker reactions have type "sticker" with sticker
1352
+ attachment details in the sticker field.
1339
1353
 
1340
- attachment_id: Reference to a sticker image pre-uploaded via `POST /v3/attachments`. Only valid
1341
- when type is "sticker".
1354
+ attachment_id: Reference to an image pre-uploaded via `POST /v3/attachments`. Valid when type
1355
+ is "sticker", or when adding a type "custom" reaction to make it an image
1356
+ tapback.
1342
1357
 
1343
1358
  Exactly one of `emoji`, `url` or `attachment_id` is required when type is
1344
1359
  "sticker".
1345
1360
 
1346
- custom_emoji: Custom emoji string. Required when type is "custom".
1361
+ custom_emoji: Custom emoji string. When adding a type "custom" reaction, provide exactly one
1362
+ of `custom_emoji`, `url` or `attachment_id`. To remove an emoji reaction, pass
1363
+ the same `custom_emoji`.
1347
1364
 
1348
1365
  This is a **tapback** — the emoji sits in the tapback bubble on the corner of
1349
1366
  the message. To peel an emoji onto the message as a draggable sticker instead,
@@ -1366,11 +1383,12 @@ class AsyncMessagesResource(AsyncAPIResource):
1366
1383
  Every field is independent and optional — omit the object entirely, or any field
1367
1384
  within it, to keep the default (centred, default size, unrotated).
1368
1385
 
1369
- url: Linq attachment URL of the sticker image — the `download_url` returned by
1370
- `POST /v3/attachments`. Only valid when type is "sticker".
1386
+ url: Linq attachment URL of the image — the `download_url` returned by
1387
+ `POST /v3/attachments`. Valid when type is "sticker", or when adding a type
1388
+ "custom" reaction to make it an image tapback.
1371
1389
 
1372
- The image must already be stored with us. To send a sticker from elsewhere,
1373
- upload it with `POST /v3/attachments` first and pass `attachment_id`.
1390
+ The image must already be stored with us. To use an image from elsewhere, upload
1391
+ it with `POST /v3/attachments` first and pass `attachment_id`.
1374
1392
 
1375
1393
  Exactly one of `emoji`, `url` or `attachment_id` is required when type is
1376
1394
  "sticker".
@@ -17,22 +17,28 @@ class MessageAddReactionParams(TypedDict, total=False):
17
17
  """Type of reaction.
18
18
 
19
19
  Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
20
- Custom emoji reactions have type "custom" with the actual emoji in the
21
- custom_emoji field. Sticker reactions have type "sticker" with sticker
22
- attachment details in the sticker field.
20
+ Custom tapbacks have type "custom": an emoji tapback carries the emoji in the
21
+ custom_emoji field, and an image tapback carries the image in the sticker field.
22
+ Sticker reactions have type "sticker" with sticker attachment details in the
23
+ sticker field.
23
24
  """
24
25
 
25
26
  attachment_id: str
26
27
  """
27
- Reference to a sticker image pre-uploaded via `POST /v3/attachments`. Only valid
28
- when type is "sticker".
28
+ Reference to an image pre-uploaded via `POST /v3/attachments`. Valid when type
29
+ is "sticker", or when adding a type "custom" reaction to make it an image
30
+ tapback.
29
31
 
30
32
  Exactly one of `emoji`, `url` or `attachment_id` is required when type is
31
33
  "sticker".
32
34
  """
33
35
 
34
36
  custom_emoji: str
35
- """Custom emoji string. Required when type is "custom".
37
+ """Custom emoji string.
38
+
39
+ When adding a type "custom" reaction, provide exactly one of `custom_emoji`,
40
+ `url` or `attachment_id`. To remove an emoji reaction, pass the same
41
+ `custom_emoji`.
36
42
 
37
43
  This is a **tapback** — the emoji sits in the tapback bubble on the corner of
38
44
  the message. To peel an emoji onto the message as a draggable sticker instead,
@@ -67,11 +73,12 @@ class MessageAddReactionParams(TypedDict, total=False):
67
73
 
68
74
  url: str
69
75
  """
70
- Linq attachment URL of the sticker image — the `download_url` returned by
71
- `POST /v3/attachments`. Only valid when type is "sticker".
76
+ Linq attachment URL of the image — the `download_url` returned by
77
+ `POST /v3/attachments`. Valid when type is "sticker", or when adding a type
78
+ "custom" reaction to make it an image tapback.
72
79
 
73
- The image must already be stored with us. To send a sticker from elsewhere,
74
- upload it with `POST /v3/attachments` first and pass `attachment_id`.
80
+ The image must already be stored with us. To use an image from elsewhere, upload
81
+ it with `POST /v3/attachments` first and pass `attachment_id`.
75
82
 
76
83
  Exactly one of `emoji`, `url` or `attachment_id` is required when type is
77
84
  "sticker".
@@ -14,9 +14,9 @@ __all__ = ["ReactionEventBase", "Sticker"]
14
14
 
15
15
 
16
16
  class Sticker(BaseModel):
17
- """Sticker attachment details when reaction_type is "sticker".
18
-
19
- Null for non-sticker reactions.
17
+ """
18
+ The image when reaction_type is "sticker", or when reaction_type is "custom" and
19
+ the tapback is an image. Null otherwise.
20
20
  """
21
21
 
22
22
  file_name: Optional[str] = None
@@ -46,16 +46,20 @@ class ReactionEventBase(BaseModel):
46
46
  """Type of reaction.
47
47
 
48
48
  Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
49
- Custom emoji reactions have type "custom" with the actual emoji in the
50
- custom_emoji field. Sticker reactions have type "sticker" with sticker
51
- attachment details in the sticker field.
49
+ Custom tapbacks have type "custom": an emoji tapback carries the emoji in the
50
+ custom_emoji field, and an image tapback carries the image in the sticker field.
51
+ Sticker reactions have type "sticker" with sticker attachment details in the
52
+ sticker field.
52
53
  """
53
54
 
54
55
  chat_id: Optional[str] = None
55
56
  """Chat identifier (UUID)"""
56
57
 
57
58
  custom_emoji: Optional[str] = None
58
- """The actual emoji when reaction_type is "custom". Null for standard tapbacks."""
59
+ """The actual emoji when reaction_type is "custom" and the tapback is an emoji.
60
+
61
+ Null otherwise.
62
+ """
59
63
 
60
64
  from_: Optional[str] = FieldInfo(alias="from", default=None)
61
65
  """DEPRECATED: Use from_handle instead.
@@ -94,7 +98,7 @@ class ReactionEventBase(BaseModel):
94
98
  """
95
99
 
96
100
  sticker: Optional[Sticker] = None
97
- """Sticker attachment details when reaction_type is "sticker".
98
-
99
- Null for non-sticker reactions.
101
+ """
102
+ The image when reaction_type is "sticker", or when reaction_type is "custom" and
103
+ the tapback is an image. Null otherwise.
100
104
  """
@@ -10,9 +10,9 @@ __all__ = ["Reaction", "Sticker"]
10
10
 
11
11
 
12
12
  class Sticker(BaseModel):
13
- """Sticker attachment details when reaction_type is "sticker".
14
-
15
- Null for non-sticker reactions.
13
+ """
14
+ The image when type is "sticker", or when type is "custom" and the tapback is an image.
15
+ Null otherwise.
16
16
  """
17
17
 
18
18
  file_name: Optional[str] = None
@@ -41,9 +41,10 @@ class Reaction(BaseModel):
41
41
  """Type of reaction.
42
42
 
43
43
  Standard iMessage tapbacks are love, like, dislike, laugh, emphasize, question.
44
- Custom emoji reactions have type "custom" with the actual emoji in the
45
- custom_emoji field. Sticker reactions have type "sticker" with sticker
46
- attachment details in the sticker field.
44
+ Custom tapbacks have type "custom": an emoji tapback carries the emoji in the
45
+ custom_emoji field, and an image tapback carries the image in the sticker field.
46
+ Sticker reactions have type "sticker" with sticker attachment details in the
47
+ sticker field.
47
48
  """
48
49
 
49
50
  id: Optional[str] = None
@@ -59,10 +60,10 @@ class Reaction(BaseModel):
59
60
  """
60
61
 
61
62
  custom_emoji: Optional[str] = None
62
- """Custom emoji if type is "custom", null otherwise"""
63
+ """Custom emoji if type is "custom" and the tapback is an emoji, null otherwise"""
63
64
 
64
65
  sticker: Optional[Sticker] = None
65
- """Sticker attachment details when reaction_type is "sticker".
66
-
67
- Null for non-sticker reactions.
66
+ """
67
+ The image when type is "sticker", or when type is "custom" and the tapback is an
68
+ image. Null otherwise.
68
69
  """
@@ -530,7 +530,7 @@ wheels = [
530
530
 
531
531
  [[package]]
532
532
  name = "linq-python"
533
- version = "0.65.0"
533
+ version = "0.66.0"
534
534
  source = { editable = "." }
535
535
  dependencies = [
536
536
  { name = "anyio" },
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.66.0"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes