Skip to content

Commit 8b3887c

Browse files
cryeookue
authored andcommitted
Add mode property to event objects (#233)
* Add mode property to event objects * Modify tests * Modify readme * Adjust line length
1 parent b51ffbb commit 8b3887c

File tree

4 files changed

+106
-28
lines changed

4 files changed

+106
-28
lines changed

README.rst

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ delete\_rich\_menu(self, rich\_menu\_id, timeout=None)
303303
Deletes a rich menu.
304304

305305
https://developers.line.biz/en/reference/messaging-api/#delete-rich-menu
306-
306+
307307
.. code:: python
308308
309309
line_bot_api.delete_rich_menu(rich_menu_id)
@@ -949,30 +949,36 @@ The following classes are found in the ``linebot.models`` package.
949949

950950
- MessageEvent
951951
- type
952+
- mode
952953
- timestamp
953954
- source: `Source <#source>`__
954955
- reply\_token
955956
- message: `Message <#message>`__
956957
- FollowEvent
957958
- type
959+
- mode
958960
- timestamp
959961
- source: `Source <#source>`__
960962
- reply\_token
961963
- UnfollowEvent
962964
- type
965+
- mode
963966
- timestamp
964967
- source: `Source <#source>`__
965968
- JoinEvent
966969
- type
970+
- mode
967971
- timestamp
968972
- source: `Source <#source>`__
969973
- reply\_token
970974
- LeaveEvent
971975
- type
976+
- mode
972977
- timestamp
973978
- source: `Source <#source>`__
974979
- PostbackEvent
975980
- type
981+
- mode
976982
- timestamp
977983
- source: `Source <#source>`__
978984
- reply\_token
@@ -981,6 +987,7 @@ The following classes are found in the ``linebot.models`` package.
981987
- params: dict
982988
- BeaconEvent
983989
- type
990+
- mode
984991
- timestamp
985992
- source: `Source <#source>`__
986993
- reply\_token
@@ -990,24 +997,28 @@ The following classes are found in the ``linebot.models`` package.
990997
- device_message
991998
- MemberJoinedEvent
992999
- type
1000+
- mode
9931001
- timestamp
9941002
- source: `Source <#source>`__
9951003
- reply\_token
9961004
- joined: Joined
9971005
- MemberLeftEvent
9981006
- type
1007+
- mode
9991008
- timestamp
10001009
- source: `Source <#source>`__
10011010
- reply\_token
10021011
- left: Left
10031012
- AccountLinkEvent
10041013
- type
1014+
- mode
10051015
- timestamp
10061016
- source: `Source <#source>`__
10071017
- reply\_token
10081018
- link: Link
10091019
- ThingsEvent
10101020
- type
1021+
- mode
10111022
- timestamp
10121023
- source: `Source <#source>`__
10131024
- reply\_token
@@ -1109,7 +1120,7 @@ Community Q&A: https://www.line-community.me/questions
11091120

11101121
News: https://developers.line.biz/en/news/
11111122

1112-
Twitter: @LINE_DEV
1123+
Twitter: @LINE_DEV
11131124

11141125
Versioning
11151126
----------

linebot/models/events.py

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ class Event(with_metaclass(ABCMeta, Base)):
4545
https://developers.line.biz/en/reference/messaging-api/#webhook-event-objects
4646
"""
4747

48-
def __init__(self, timestamp=None, source=None, **kwargs):
48+
def __init__(self, mode=None, timestamp=None, source=None, **kwargs):
4949
"""__init__ method.
5050
51+
:param str mode: Channel state
5152
:param long timestamp: Time of the event in milliseconds
5253
:param source: Source object
5354
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -56,6 +57,7 @@ def __init__(self, timestamp=None, source=None, **kwargs):
5657
super(Event, self).__init__(**kwargs)
5758

5859
self.type = None
60+
self.mode = mode
5961
self.timestamp = timestamp
6062
self.source = self.get_or_new_from_json_dict_with_types(
6163
source, {
@@ -76,9 +78,11 @@ class MessageEvent(Event):
7678
You can reply to message events.
7779
"""
7880

79-
def __init__(self, timestamp=None, source=None, reply_token=None, message=None, **kwargs):
81+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, message=None,
82+
**kwargs):
8083
"""__init__ method.
8184
85+
:param str mode: Channel state
8286
:param long timestamp: Time of the event in milliseconds
8387
:param source: Source object
8488
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -88,7 +92,7 @@ def __init__(self, timestamp=None, source=None, reply_token=None, message=None,
8892
:param kwargs:
8993
"""
9094
super(MessageEvent, self).__init__(
91-
timestamp=timestamp, source=source, **kwargs
95+
mode=mode, timestamp=timestamp, source=source, **kwargs
9296
)
9397

9498
self.type = 'message'
@@ -115,17 +119,18 @@ class FollowEvent(Event):
115119
You can reply to follow events.
116120
"""
117121

118-
def __init__(self, timestamp=None, source=None, reply_token=None, **kwargs):
122+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, **kwargs):
119123
"""__init__ method.
120124
125+
:param str mode: Channel state
121126
:param long timestamp: Time of the event in milliseconds
122127
:param source: Source object
123128
:type source: T <= :py:class:`linebot.models.sources.Source`
124129
:param str reply_token: Reply token
125130
:param kwargs:
126131
"""
127132
super(FollowEvent, self).__init__(
128-
timestamp=timestamp, source=source, **kwargs
133+
mode=mode, timestamp=timestamp, source=source, **kwargs
129134
)
130135

131136
self.type = 'follow'
@@ -140,16 +145,17 @@ class UnfollowEvent(Event):
140145
Event object for when your account is blocked.
141146
"""
142147

143-
def __init__(self, timestamp=None, source=None, **kwargs):
148+
def __init__(self, mode=None, timestamp=None, source=None, **kwargs):
144149
"""__init__ method.
145150
151+
:param str mode: Channel state
146152
:param long timestamp: Time of the event in milliseconds
147153
:param source: Source object
148154
:type source: T <= :py:class:`linebot.models.sources.Source`
149155
:param kwargs:
150156
"""
151157
super(UnfollowEvent, self).__init__(
152-
timestamp=timestamp, source=source, **kwargs
158+
mode=mode, timestamp=timestamp, source=source, **kwargs
153159
)
154160

155161
self.type = 'unfollow'
@@ -164,17 +170,18 @@ class JoinEvent(Event):
164170
You can reply to join events.
165171
"""
166172

167-
def __init__(self, timestamp=None, source=None, reply_token=None, **kwargs):
173+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, **kwargs):
168174
"""__init__ method.
169175
176+
:param str mode: Channel state
170177
:param long timestamp: Time of the event in milliseconds
171178
:param source: Source object
172179
:type source: T <= :py:class:`linebot.models.sources.Source`
173180
:param str reply_token: Reply token
174181
:param kwargs:
175182
"""
176183
super(JoinEvent, self).__init__(
177-
timestamp=timestamp, source=source, **kwargs
184+
mode=mode, timestamp=timestamp, source=source, **kwargs
178185
)
179186

180187
self.type = 'join'
@@ -189,16 +196,17 @@ class LeaveEvent(Event):
189196
Event object for when your account leaves a group.
190197
"""
191198

192-
def __init__(self, timestamp=None, source=None, **kwargs):
199+
def __init__(self, mode=None, timestamp=None, source=None, **kwargs):
193200
"""__init__ method.
194201
202+
:param str mode: Channel state
195203
:param long timestamp: Time of the event in milliseconds
196204
:param source: Source object
197205
:type source: T <= :py:class:`linebot.models.sources.Source`
198206
:param kwargs:
199207
"""
200208
super(LeaveEvent, self).__init__(
201-
timestamp=timestamp, source=source, **kwargs
209+
mode=mode, timestamp=timestamp, source=source, **kwargs
202210
)
203211

204212
self.type = 'leave'
@@ -214,9 +222,11 @@ class PostbackEvent(Event):
214222
You can reply to postback events.
215223
"""
216224

217-
def __init__(self, timestamp=None, source=None, reply_token=None, postback=None, **kwargs):
225+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, postback=None,
226+
**kwargs):
218227
"""__init__ method.
219228
229+
:param str mode: Channel state
220230
:param long timestamp: Time of the event in milliseconds
221231
:param source: Source object
222232
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -226,7 +236,7 @@ def __init__(self, timestamp=None, source=None, reply_token=None, postback=None,
226236
:param kwargs:
227237
"""
228238
super(PostbackEvent, self).__init__(
229-
timestamp=timestamp, source=source, **kwargs
239+
mode=mode, timestamp=timestamp, source=source, **kwargs
230240
)
231241

232242
self.type = 'postback'
@@ -244,10 +254,11 @@ class BeaconEvent(Event):
244254
Event object for when a user detects a LINE Beacon. You can reply to beacon events.
245255
"""
246256

247-
def __init__(self, timestamp=None, source=None, reply_token=None,
248-
beacon=None, **kwargs):
257+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, beacon=None,
258+
**kwargs):
249259
"""__init__ method.
250260
261+
:param str mode: Channel state
251262
:param long timestamp: Time of the event in milliseconds
252263
:param source: Source object
253264
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -257,7 +268,7 @@ def __init__(self, timestamp=None, source=None, reply_token=None,
257268
:param kwargs:
258269
"""
259270
super(BeaconEvent, self).__init__(
260-
timestamp=timestamp, source=source, **kwargs
271+
mode=mode, timestamp=timestamp, source=source, **kwargs
261272
)
262273

263274
self.type = 'beacon'
@@ -276,10 +287,11 @@ class MemberJoinedEvent(Event):
276287
277288
"""
278289

279-
def __init__(self, timestamp=None, source=None, reply_token=None,
280-
joined=None, **kwargs):
290+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, joined=None,
291+
**kwargs):
281292
"""__init__ method.
282293
294+
:param str mode: Channel state
283295
:param long timestamp: Time of the event in milliseconds
284296
:param source: Source object
285297
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -289,7 +301,7 @@ def __init__(self, timestamp=None, source=None, reply_token=None,
289301
:param kwargs:
290302
"""
291303
super(MemberJoinedEvent, self).__init__(
292-
timestamp=timestamp, source=source, **kwargs
304+
mode=mode, timestamp=timestamp, source=source, **kwargs
293305
)
294306

295307
self.type = 'memberJoined'
@@ -308,10 +320,10 @@ class MemberLeftEvent(Event):
308320
309321
"""
310322

311-
def __init__(self, timestamp=None, source=None,
312-
left=None, **kwargs):
323+
def __init__(self, mode=None, timestamp=None, source=None, left=None, **kwargs):
313324
"""__init__ method.
314325
326+
:param str mode: Channel state
315327
:param long timestamp: Time of the event in milliseconds
316328
:param source: Source object
317329
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -320,7 +332,7 @@ def __init__(self, timestamp=None, source=None,
320332
:param kwargs:
321333
"""
322334
super(MemberLeftEvent, self).__init__(
323-
timestamp=timestamp, source=source, **kwargs
335+
mode=mode, timestamp=timestamp, source=source, **kwargs
324336
)
325337

326338
self.type = 'memberLeft'
@@ -340,9 +352,11 @@ class AccountLinkEvent(Event):
340352
no webhook event will be sent and the user will be shown an error.
341353
"""
342354

343-
def __init__(self, timestamp=None, source=None, reply_token=None, link=None, **kwargs):
355+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, link=None,
356+
**kwargs):
344357
"""__init__ method.
345358
359+
:param str mode: Channel state
346360
:param long timestamp: Time of the event in milliseconds
347361
:param source: Source object
348362
:type source: T <= :py:class:`linebot.models.sources.Source`
@@ -352,7 +366,7 @@ def __init__(self, timestamp=None, source=None, reply_token=None, link=None, **k
352366
:param kwargs:
353367
"""
354368
super(AccountLinkEvent, self).__init__(
355-
timestamp=timestamp, source=source, **kwargs
369+
mode=mode, timestamp=timestamp, source=source, **kwargs
356370
)
357371

358372
self.type = 'accountLink'
@@ -372,9 +386,12 @@ class ThingsEvent(Event):
372386
Event sent from LINE Things Webhook service.
373387
"""
374388

375-
def __init__(self, timestamp=None, source=None, reply_token=None, things=None, **kwargs):
389+
def __init__(self, mode=None, timestamp=None, source=None, reply_token=None, things=None,
390+
**kwargs):
376391
"""__init__ method.
377392
393+
:param str mode: Channel state
394+
:param long timestamp: Time of the event in milliseconds
378395
:param source: Source object
379396
:type source: T <= :py:class:`linebot.models.sources.Source`
380397
:param str reply_token: Reply token
@@ -383,7 +400,7 @@ def __init__(self, timestamp=None, source=None, reply_token=None, things=None, *
383400
:param kwargs:
384401
"""
385402
super(ThingsEvent, self).__init__(
386-
timestamp=timestamp, source=source, **kwargs
403+
mode=mode, timestamp=timestamp, source=source, **kwargs
387404
)
388405

389406
self.type = 'things'

0 commit comments

Comments
 (0)