Skip to content

Commit

Permalink
Codes are generated by openapi generator (#595)
Browse files Browse the repository at this point in the history
In the Messaging API, we've added the [clipboard
action](https://developers.line.biz/en/reference/messaging-api/#clipboard-action)
for users to copy text to the clipboard. This new feature allows users
to more easily copy coupon codes and other text.

news:
https://developers.line.biz/en/news/2024/02/05/messaging-api-updated/

Note only the latest app(version >= `14.0.0`) supports this feature.
Please update your LINE app to try this feature.

Co-authored-by: github-actions <github-actions@github.com>
  • Loading branch information
github-actions[bot] and github-actions committed Feb 5, 2024
1 parent a8b2294 commit 1aa43ad
Show file tree
Hide file tree
Showing 6 changed files with 168 additions and 4 deletions.
2 changes: 2 additions & 0 deletions linebot/v3/messaging/__init__.py
Expand Up @@ -54,6 +54,8 @@
from linebot.v3.messaging.models.carousel_column import CarouselColumn
from linebot.v3.messaging.models.carousel_template import CarouselTemplate
from linebot.v3.messaging.models.chat_reference import ChatReference
from linebot.v3.messaging.models.clipboard_action import ClipboardAction
from linebot.v3.messaging.models.clipboard_imagemap_action import ClipboardImagemapAction
from linebot.v3.messaging.models.confirm_template import ConfirmTemplate
from linebot.v3.messaging.models.create_rich_menu_alias_request import CreateRichMenuAliasRequest
from linebot.v3.messaging.models.datetime_picker_action import DatetimePickerAction
Expand Down
2 changes: 2 additions & 0 deletions linebot/v3/messaging/models/__init__.py
Expand Up @@ -33,6 +33,8 @@
from linebot.v3.messaging.models.carousel_column import CarouselColumn
from linebot.v3.messaging.models.carousel_template import CarouselTemplate
from linebot.v3.messaging.models.chat_reference import ChatReference
from linebot.v3.messaging.models.clipboard_action import ClipboardAction
from linebot.v3.messaging.models.clipboard_imagemap_action import ClipboardImagemapAction
from linebot.v3.messaging.models.confirm_template import ConfirmTemplate
from linebot.v3.messaging.models.create_rich_menu_alias_request import CreateRichMenuAliasRequest
from linebot.v3.messaging.models.datetime_picker_action import DatetimePickerAction
Expand Down
5 changes: 3 additions & 2 deletions linebot/v3/messaging/models/action.py
Expand Up @@ -44,6 +44,7 @@ class Config:
__discriminator_value_class_map = {
'camera': 'CameraAction',
'cameraRoll': 'CameraRollAction',
'clipboard': 'ClipboardAction',
'datetimepicker': 'DatetimePickerAction',
'location': 'LocationAction',
'message': 'MessageAction',
Expand All @@ -70,7 +71,7 @@ def to_json(self) -> str:
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Union(CameraAction, CameraRollAction, DatetimePickerAction, LocationAction, MessageAction, PostbackAction, RichMenuSwitchAction, URIAction):
def from_json(cls, json_str: str) -> Union(CameraAction, CameraRollAction, ClipboardAction, DatetimePickerAction, LocationAction, MessageAction, PostbackAction, RichMenuSwitchAction, URIAction):
"""Create an instance of Action from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -83,7 +84,7 @@ def to_dict(self):
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Union(CameraAction, CameraRollAction, DatetimePickerAction, LocationAction, MessageAction, PostbackAction, RichMenuSwitchAction, URIAction):
def from_dict(cls, obj: dict) -> Union(CameraAction, CameraRollAction, ClipboardAction, DatetimePickerAction, LocationAction, MessageAction, PostbackAction, RichMenuSwitchAction, URIAction):
"""Create an instance of Action from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
Expand Down
76 changes: 76 additions & 0 deletions linebot/v3/messaging/models/clipboard_action.py
@@ -0,0 +1,76 @@
# coding: utf-8

"""
LINE Messaging API
This document describes LINE Messaging API. # noqa: E501
The version of the OpenAPI document: 0.0.1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""


from __future__ import annotations
import pprint
import re # noqa: F401
import json



from pydantic.v1 import Field, constr
from linebot.v3.messaging.models.action import Action

class ClipboardAction(Action):
"""
ClipboardAction
https://developers.line.biz/en/reference/messaging-api/#clipboard-action
"""
clipboard_text: constr(strict=True, max_length=1000, min_length=1) = Field(..., alias="clipboardText", description="Text that is copied to the clipboard. Max character limit: 1000 ")
type: str = "clipboard"

__properties = ["type", "label", "clipboardText"]

class Config:
"""Pydantic configuration"""
allow_population_by_field_name = True
validate_assignment = True

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.dict(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> ClipboardAction:
"""Create an instance of ClipboardAction from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self):
"""Returns the dictionary representation of the model using alias"""
_dict = self.dict(by_alias=True,
exclude={
},
exclude_none=True)
return _dict

@classmethod
def from_dict(cls, obj: dict) -> ClipboardAction:
"""Create an instance of ClipboardAction from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return ClipboardAction.parse_obj(obj)

_obj = ClipboardAction.parse_obj({
"type": obj.get("type"),
"label": obj.get("label"),
"clipboard_text": obj.get("clipboardText")
})
return _obj

82 changes: 82 additions & 0 deletions linebot/v3/messaging/models/clipboard_imagemap_action.py
@@ -0,0 +1,82 @@
# coding: utf-8

"""
LINE Messaging API
This document describes LINE Messaging API. # noqa: E501
The version of the OpenAPI document: 0.0.1
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
"""


from __future__ import annotations
import pprint
import re # noqa: F401
import json


from typing import Optional
from pydantic.v1 import Field, StrictStr, constr
from linebot.v3.messaging.models.imagemap_action import ImagemapAction
from linebot.v3.messaging.models.imagemap_area import ImagemapArea

class ClipboardImagemapAction(ImagemapAction):
"""
ClipboardImagemapAction
https://developers.line.biz/en/reference/messaging-api/#imagemap-clipboard-action-object
"""
clipboard_text: constr(strict=True, max_length=1000, min_length=1) = Field(..., alias="clipboardText", description="Text that is copied to the clipboard. Max character limit: 1000 ")
label: Optional[StrictStr] = None
type: str = "clipboard"

__properties = ["type", "area", "clipboardText", "label"]

class Config:
"""Pydantic configuration"""
allow_population_by_field_name = True
validate_assignment = True

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.dict(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> ClipboardImagemapAction:
"""Create an instance of ClipboardImagemapAction from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self):
"""Returns the dictionary representation of the model using alias"""
_dict = self.dict(by_alias=True,
exclude={
},
exclude_none=True)
# override the default output from pydantic.v1 by calling `to_dict()` of area
if self.area:
_dict['area'] = self.area.to_dict()
return _dict

@classmethod
def from_dict(cls, obj: dict) -> ClipboardImagemapAction:
"""Create an instance of ClipboardImagemapAction from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return ClipboardImagemapAction.parse_obj(obj)

_obj = ClipboardImagemapAction.parse_obj({
"type": obj.get("type"),
"area": ImagemapArea.from_dict(obj.get("area")) if obj.get("area") is not None else None,
"clipboard_text": obj.get("clipboardText"),
"label": obj.get("label")
})
return _obj

5 changes: 3 additions & 2 deletions linebot/v3/messaging/models/imagemap_action.py
Expand Up @@ -43,6 +43,7 @@ class Config:

# discriminator mappings
__discriminator_value_class_map = {
'clipboard': 'ClipboardImagemapAction',
'message': 'MessageImagemapAction',
'uri': 'URIImagemapAction'
}
Expand All @@ -65,7 +66,7 @@ def to_json(self) -> str:
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Union(MessageImagemapAction, URIImagemapAction):
def from_json(cls, json_str: str) -> Union(ClipboardImagemapAction, MessageImagemapAction, URIImagemapAction):
"""Create an instance of ImagemapAction from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -81,7 +82,7 @@ def to_dict(self):
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Union(MessageImagemapAction, URIImagemapAction):
def from_dict(cls, obj: dict) -> Union(ClipboardImagemapAction, MessageImagemapAction, URIImagemapAction):
"""Create an instance of ImagemapAction from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
Expand Down

0 comments on commit 1aa43ad

Please sign in to comment.