Skip to content

Commit 1aa43ad

Browse files
github-actions[bot]github-actions
and
github-actions
authored
Codes are generated by openapi generator (#595)
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 <[email protected]>
1 parent a8b2294 commit 1aa43ad

File tree

6 files changed

+168
-4
lines changed

6 files changed

+168
-4
lines changed

linebot/v3/messaging/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@
5454
from linebot.v3.messaging.models.carousel_column import CarouselColumn
5555
from linebot.v3.messaging.models.carousel_template import CarouselTemplate
5656
from linebot.v3.messaging.models.chat_reference import ChatReference
57+
from linebot.v3.messaging.models.clipboard_action import ClipboardAction
58+
from linebot.v3.messaging.models.clipboard_imagemap_action import ClipboardImagemapAction
5759
from linebot.v3.messaging.models.confirm_template import ConfirmTemplate
5860
from linebot.v3.messaging.models.create_rich_menu_alias_request import CreateRichMenuAliasRequest
5961
from linebot.v3.messaging.models.datetime_picker_action import DatetimePickerAction

linebot/v3/messaging/models/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
from linebot.v3.messaging.models.carousel_column import CarouselColumn
3434
from linebot.v3.messaging.models.carousel_template import CarouselTemplate
3535
from linebot.v3.messaging.models.chat_reference import ChatReference
36+
from linebot.v3.messaging.models.clipboard_action import ClipboardAction
37+
from linebot.v3.messaging.models.clipboard_imagemap_action import ClipboardImagemapAction
3638
from linebot.v3.messaging.models.confirm_template import ConfirmTemplate
3739
from linebot.v3.messaging.models.create_rich_menu_alias_request import CreateRichMenuAliasRequest
3840
from linebot.v3.messaging.models.datetime_picker_action import DatetimePickerAction

linebot/v3/messaging/models/action.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Config:
4444
__discriminator_value_class_map = {
4545
'camera': 'CameraAction',
4646
'cameraRoll': 'CameraRollAction',
47+
'clipboard': 'ClipboardAction',
4748
'datetimepicker': 'DatetimePickerAction',
4849
'location': 'LocationAction',
4950
'message': 'MessageAction',
@@ -70,7 +71,7 @@ def to_json(self) -> str:
7071
return json.dumps(self.to_dict())
7172

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

@@ -83,7 +84,7 @@ def to_dict(self):
8384
return _dict
8485

8586
@classmethod
86-
def from_dict(cls, obj: dict) -> Union(CameraAction, CameraRollAction, DatetimePickerAction, LocationAction, MessageAction, PostbackAction, RichMenuSwitchAction, URIAction):
87+
def from_dict(cls, obj: dict) -> Union(CameraAction, CameraRollAction, ClipboardAction, DatetimePickerAction, LocationAction, MessageAction, PostbackAction, RichMenuSwitchAction, URIAction):
8788
"""Create an instance of Action from a dict"""
8889
# look up the object type based on discriminator mapping
8990
object_type = cls.get_discriminator_value(obj)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# coding: utf-8
2+
3+
"""
4+
LINE Messaging API
5+
6+
This document describes LINE Messaging API. # noqa: E501
7+
8+
The version of the OpenAPI document: 0.0.1
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
"""
13+
14+
15+
from __future__ import annotations
16+
import pprint
17+
import re # noqa: F401
18+
import json
19+
20+
21+
22+
from pydantic.v1 import Field, constr
23+
from linebot.v3.messaging.models.action import Action
24+
25+
class ClipboardAction(Action):
26+
"""
27+
ClipboardAction
28+
https://developers.line.biz/en/reference/messaging-api/#clipboard-action
29+
"""
30+
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 ")
31+
type: str = "clipboard"
32+
33+
__properties = ["type", "label", "clipboardText"]
34+
35+
class Config:
36+
"""Pydantic configuration"""
37+
allow_population_by_field_name = True
38+
validate_assignment = True
39+
40+
def to_str(self) -> str:
41+
"""Returns the string representation of the model using alias"""
42+
return pprint.pformat(self.dict(by_alias=True))
43+
44+
def to_json(self) -> str:
45+
"""Returns the JSON representation of the model using alias"""
46+
return json.dumps(self.to_dict())
47+
48+
@classmethod
49+
def from_json(cls, json_str: str) -> ClipboardAction:
50+
"""Create an instance of ClipboardAction from a JSON string"""
51+
return cls.from_dict(json.loads(json_str))
52+
53+
def to_dict(self):
54+
"""Returns the dictionary representation of the model using alias"""
55+
_dict = self.dict(by_alias=True,
56+
exclude={
57+
},
58+
exclude_none=True)
59+
return _dict
60+
61+
@classmethod
62+
def from_dict(cls, obj: dict) -> ClipboardAction:
63+
"""Create an instance of ClipboardAction from a dict"""
64+
if obj is None:
65+
return None
66+
67+
if not isinstance(obj, dict):
68+
return ClipboardAction.parse_obj(obj)
69+
70+
_obj = ClipboardAction.parse_obj({
71+
"type": obj.get("type"),
72+
"label": obj.get("label"),
73+
"clipboard_text": obj.get("clipboardText")
74+
})
75+
return _obj
76+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# coding: utf-8
2+
3+
"""
4+
LINE Messaging API
5+
6+
This document describes LINE Messaging API. # noqa: E501
7+
8+
The version of the OpenAPI document: 0.0.1
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
"""
13+
14+
15+
from __future__ import annotations
16+
import pprint
17+
import re # noqa: F401
18+
import json
19+
20+
21+
from typing import Optional
22+
from pydantic.v1 import Field, StrictStr, constr
23+
from linebot.v3.messaging.models.imagemap_action import ImagemapAction
24+
from linebot.v3.messaging.models.imagemap_area import ImagemapArea
25+
26+
class ClipboardImagemapAction(ImagemapAction):
27+
"""
28+
ClipboardImagemapAction
29+
https://developers.line.biz/en/reference/messaging-api/#imagemap-clipboard-action-object
30+
"""
31+
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 ")
32+
label: Optional[StrictStr] = None
33+
type: str = "clipboard"
34+
35+
__properties = ["type", "area", "clipboardText", "label"]
36+
37+
class Config:
38+
"""Pydantic configuration"""
39+
allow_population_by_field_name = True
40+
validate_assignment = True
41+
42+
def to_str(self) -> str:
43+
"""Returns the string representation of the model using alias"""
44+
return pprint.pformat(self.dict(by_alias=True))
45+
46+
def to_json(self) -> str:
47+
"""Returns the JSON representation of the model using alias"""
48+
return json.dumps(self.to_dict())
49+
50+
@classmethod
51+
def from_json(cls, json_str: str) -> ClipboardImagemapAction:
52+
"""Create an instance of ClipboardImagemapAction from a JSON string"""
53+
return cls.from_dict(json.loads(json_str))
54+
55+
def to_dict(self):
56+
"""Returns the dictionary representation of the model using alias"""
57+
_dict = self.dict(by_alias=True,
58+
exclude={
59+
},
60+
exclude_none=True)
61+
# override the default output from pydantic.v1 by calling `to_dict()` of area
62+
if self.area:
63+
_dict['area'] = self.area.to_dict()
64+
return _dict
65+
66+
@classmethod
67+
def from_dict(cls, obj: dict) -> ClipboardImagemapAction:
68+
"""Create an instance of ClipboardImagemapAction from a dict"""
69+
if obj is None:
70+
return None
71+
72+
if not isinstance(obj, dict):
73+
return ClipboardImagemapAction.parse_obj(obj)
74+
75+
_obj = ClipboardImagemapAction.parse_obj({
76+
"type": obj.get("type"),
77+
"area": ImagemapArea.from_dict(obj.get("area")) if obj.get("area") is not None else None,
78+
"clipboard_text": obj.get("clipboardText"),
79+
"label": obj.get("label")
80+
})
81+
return _obj
82+

linebot/v3/messaging/models/imagemap_action.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class Config:
4343

4444
# discriminator mappings
4545
__discriminator_value_class_map = {
46+
'clipboard': 'ClipboardImagemapAction',
4647
'message': 'MessageImagemapAction',
4748
'uri': 'URIImagemapAction'
4849
}
@@ -65,7 +66,7 @@ def to_json(self) -> str:
6566
return json.dumps(self.to_dict())
6667

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

@@ -81,7 +82,7 @@ def to_dict(self):
8182
return _dict
8283

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

0 commit comments

Comments
 (0)