pyTelegramBotAPI 4.36.0__py3-none-any.whl → 4.36.1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: pyTelegramBotAPI
3
- Version: 4.36.0
3
+ Version: 4.36.1
4
4
  Summary: Python Telegram bot API.
5
5
  Project-URL: Homepage, https://github.com/eternnoir/pyTelegramBotAPI
6
6
  Project-URL: Documentation, https://pytba.readthedocs.org
@@ -10,9 +10,9 @@ telebot/formatting.py,sha256=hIaE3IiiumD6tf-X8DSDvFQyGHPq48nmEdLVJcr_nKQ,15950
10
10
  telebot/handler_backends.py,sha256=INPxzW-osA9ICwpTqUrxZK1Bs4tGJDz99HcyJ5ZUWHY,8245
11
11
  telebot/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  telebot/service_utils.py,sha256=xLmlZLTVs34UOdQtMvwduor8hnLxQCx8iJ92wDGl2Mw,2053
13
- telebot/types.py,sha256=JtIJDNJWca2FL-0yv8lHL_JE7jqOp-9u9E3nQ7ENonU,720742
13
+ telebot/types.py,sha256=jZuUrBuo9chX4Hj1YmCseH1NPGgjhiP7mK7Xzb6X_Ks,726778
14
14
  telebot/util.py,sha256=Qy5-m82RZZ-vWizYUY5WW8yhcg78XjgfZctStFe_6WM,23624
15
- telebot/version.py,sha256=X48_cCZCq2wnfY3zC3YZme64cgkLKyy6jT8T0vcADNM,99
15
+ telebot/version.py,sha256=0PUc7XpAUrevbZFvleTqt3as5rPTXOgFK3n6rrlPzN8,99
16
16
  telebot/asyncio_storage/__init__.py,sha256=DpVFdTvFpJveTbHY2CezqGWjHKjG__qMdmJvFEc_ekw,446
17
17
  telebot/asyncio_storage/base_storage.py,sha256=T5FWpT057w-FSbprDBCEY2P1wzdrYoe8yonBOJLpSQs,3966
18
18
  telebot/asyncio_storage/memory_storage.py,sha256=XQO8hYPBOenrv8KHd3Bzj8Eg7OCmvJV4rbmKJPl5eB0,6074
@@ -36,7 +36,7 @@ telebot/storage/base_storage.py,sha256=Xcgb2LdGV_5L16W1TnRXG0tvkopNCf9xh37ri1Xza
36
36
  telebot/storage/memory_storage.py,sha256=PNDLz67TMioY_A-po9la4-qblIdoCERh7fHU18KqIeU,6024
37
37
  telebot/storage/pickle_storage.py,sha256=6vvR8vzNE0SUKiAYP_bM3Cx9if4-xLNOMkHvJtdgbM4,7399
38
38
  telebot/storage/redis_storage.py,sha256=WY8khaSVmEkJO6kQbQ-t916564BIwX2kinUMg_wLLDM,9774
39
- pytelegrambotapi-4.36.0.dist-info/METADATA,sha256=t8bXXBoiLZf9k1ivzUpr2etNLCn0iX5-Vy2Ggdg8lDg,48284
40
- pytelegrambotapi-4.36.0.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
41
- pytelegrambotapi-4.36.0.dist-info/licenses/LICENSE,sha256=qz_jTTxi4zSAFaTdASiwml2iAk0UZ6R4MRADNzwYo_A,18387
42
- pytelegrambotapi-4.36.0.dist-info/RECORD,,
39
+ pytelegrambotapi-4.36.1.dist-info/METADATA,sha256=L9b8Uro5QrmxWsY4Q1pXjjQ8EpJrcE9FeS_PedFO5qA,48284
40
+ pytelegrambotapi-4.36.1.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
41
+ pytelegrambotapi-4.36.1.dist-info/licenses/LICENSE,sha256=qz_jTTxi4zSAFaTdASiwml2iAk0UZ6R4MRADNzwYo_A,18387
42
+ pytelegrambotapi-4.36.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.31.0
2
+ Generator: hatchling 1.32.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
telebot/types.py CHANGED
@@ -2526,14 +2526,19 @@ class Location(JsonDeserializable, JsonSerializable, Dictionaryable):
2526
2526
  return json.dumps(self.to_dict())
2527
2527
 
2528
2528
  def to_dict(self):
2529
- return {
2529
+ data = {
2530
2530
  "longitude": self.longitude,
2531
2531
  "latitude": self.latitude,
2532
- "horizontal_accuracy": self.horizontal_accuracy,
2533
- "live_period": self.live_period,
2534
- "heading": self.heading,
2535
- "proximity_alert_radius": self.proximity_alert_radius,
2536
2532
  }
2533
+ if self.horizontal_accuracy is not None:
2534
+ data["horizontal_accuracy"] = self.horizontal_accuracy
2535
+ if self.live_period is not None:
2536
+ data["live_period"] = self.live_period
2537
+ if self.heading is not None:
2538
+ data["heading"] = self.heading
2539
+ if self.proximity_alert_radius is not None:
2540
+ data["proximity_alert_radius"] = self.proximity_alert_radius
2541
+ return data
2537
2542
 
2538
2543
 
2539
2544
  class Venue(JsonDeserializable):
@@ -4454,14 +4459,17 @@ class InputLocationMessageContent(Dictionaryable):
4454
4459
  self.proximity_alert_radius: Optional[int] = proximity_alert_radius
4455
4460
 
4456
4461
  def to_dict(self):
4457
- json_dict = {'latitude': self.latitude, 'longitude': self.longitude}
4458
- if self.horizontal_accuracy:
4462
+ json_dict = {
4463
+ 'latitude': self.latitude,
4464
+ 'longitude': self.longitude
4465
+ }
4466
+ if self.horizontal_accuracy is not None:
4459
4467
  json_dict['horizontal_accuracy'] = self.horizontal_accuracy
4460
- if self.live_period:
4468
+ if self.live_period is not None:
4461
4469
  json_dict['live_period'] = self.live_period
4462
- if self.heading:
4470
+ if self.heading is not None:
4463
4471
  json_dict['heading'] = self.heading
4464
- if self.proximity_alert_radius:
4472
+ if self.proximity_alert_radius is not None:
4465
4473
  json_dict['proximity_alert_radius'] = self.proximity_alert_radius
4466
4474
  return json_dict
4467
4475
 
@@ -5665,19 +5673,19 @@ class InlineQueryResultLocation(InlineQueryResultBase):
5665
5673
  json_dict = super().to_dict()
5666
5674
  json_dict['latitude'] = self.latitude
5667
5675
  json_dict['longitude'] = self.longitude
5668
- if self.horizontal_accuracy:
5676
+ if self.horizontal_accuracy is not None:
5669
5677
  json_dict['horizontal_accuracy'] = self.horizontal_accuracy
5670
- if self.live_period:
5678
+ if self.live_period is not None:
5671
5679
  json_dict['live_period'] = self.live_period
5672
- if self.heading:
5680
+ if self.heading is not None:
5673
5681
  json_dict['heading'] = self.heading
5674
- if self.proximity_alert_radius:
5682
+ if self.proximity_alert_radius is not None:
5675
5683
  json_dict['proximity_alert_radius'] = self.proximity_alert_radius
5676
5684
  if self.thumbnail_url:
5677
5685
  json_dict['thumbnail_url'] = self.thumbnail_url
5678
- if self.thumbnail_width:
5686
+ if self.thumbnail_width is not None:
5679
5687
  json_dict['thumbnail_width'] = self.thumbnail_width
5680
- if self.thumbnail_height:
5688
+ if self.thumbnail_height is not None:
5681
5689
  json_dict['thumbnail_height'] = self.thumbnail_height
5682
5690
  return json_dict
5683
5691
 
@@ -14679,7 +14687,7 @@ class BotAccessSettings(JsonDeserializable):
14679
14687
  return cls(**obj)
14680
14688
 
14681
14689
 
14682
- class RichText(JsonDeserializable):
14690
+ class RichText(JsonDeserializable, Dictionaryable):
14683
14691
  """
14684
14692
  This object represents a rich formatted text. Currently, it can be either a String for plain text,
14685
14693
  an Array of :class:`RichText`, or any of the following types:
@@ -14721,9 +14729,12 @@ class RichText(JsonDeserializable):
14721
14729
  def de_json(cls, json_string):
14722
14730
  if json_string is None: return None
14723
14731
  if isinstance(json_string, str):
14732
+ # "...can be either a String for plain text..."
14724
14733
  return json_string
14725
14734
  if isinstance(json_string, list):
14735
+ # "...an Array of :class:`RichText`..."
14726
14736
  return [RichText.de_json(item) for item in json_string]
14737
+ # "...or any of the following types..."
14727
14738
  obj = cls.check_json(json_string)
14728
14739
  type = obj.pop('type', None)
14729
14740
  if type == 'bold':
@@ -14777,7 +14788,24 @@ class RichText(JsonDeserializable):
14777
14788
  elif type == 'reference_link':
14778
14789
  return RichTextReferenceLink.de_json(obj)
14779
14790
  return None
14780
-
14791
+
14792
+ def to_dict(self):
14793
+ data = {
14794
+ 'type': self.type
14795
+ }
14796
+ return data
14797
+
14798
+ @staticmethod
14799
+ def richtext_to_dict(richtext: Union[str, List[RichText], RichText]):
14800
+ if isinstance(richtext, str):
14801
+ return richtext
14802
+ elif isinstance(richtext, list):
14803
+ return [RichText.richtext_to_dict(item) for item in richtext]
14804
+ elif isinstance(richtext, RichText):
14805
+ return richtext.to_dict()
14806
+ return None
14807
+
14808
+
14781
14809
  class RichTextBold(RichText):
14782
14810
  """
14783
14811
  A bold text.
@@ -14804,6 +14832,12 @@ class RichTextBold(RichText):
14804
14832
  obj['text'] = RichText.de_json(obj['text'])
14805
14833
  return cls(**obj)
14806
14834
 
14835
+ def to_dict(self):
14836
+ data = super().to_dict()
14837
+ data['text'] = RichText.richtext_to_dict(self.text)
14838
+ return data
14839
+
14840
+
14807
14841
  class RichTextItalic(RichText):
14808
14842
  """
14809
14843
  An italicized text.
@@ -14830,6 +14864,12 @@ class RichTextItalic(RichText):
14830
14864
  obj['text'] = RichText.de_json(obj['text'])
14831
14865
  return cls(**obj)
14832
14866
 
14867
+ def to_dict(self):
14868
+ data = super().to_dict()
14869
+ data['text'] = RichText.richtext_to_dict(self.text)
14870
+ return data
14871
+
14872
+
14833
14873
  class RichTextUnderline(RichText):
14834
14874
  """
14835
14875
  An underlined text.
@@ -14856,6 +14896,12 @@ class RichTextUnderline(RichText):
14856
14896
  obj['text'] = RichText.de_json(obj['text'])
14857
14897
  return cls(**obj)
14858
14898
 
14899
+ def to_dict(self):
14900
+ data = super().to_dict()
14901
+ data['text'] = RichText.richtext_to_dict(self.text)
14902
+ return data
14903
+
14904
+
14859
14905
  class RichTextStrikethrough(RichText):
14860
14906
  """
14861
14907
  A strikethrough text.
@@ -14882,6 +14928,12 @@ class RichTextStrikethrough(RichText):
14882
14928
  obj['text'] = RichText.de_json(obj['text'])
14883
14929
  return cls(**obj)
14884
14930
 
14931
+ def to_dict(self):
14932
+ data = super().to_dict()
14933
+ data['text'] = RichText.richtext_to_dict(self.text)
14934
+ return data
14935
+
14936
+
14885
14937
  class RichTextSpoiler(RichText):
14886
14938
  """
14887
14939
  A text covered by a spoiler.
@@ -14908,6 +14960,12 @@ class RichTextSpoiler(RichText):
14908
14960
  obj['text'] = RichText.de_json(obj['text'])
14909
14961
  return cls(**obj)
14910
14962
 
14963
+ def to_dict(self):
14964
+ data = super().to_dict()
14965
+ data['text'] = RichText.richtext_to_dict(self.text)
14966
+ return data
14967
+
14968
+
14911
14969
  class RichTextDateTime(RichText):
14912
14970
  """
14913
14971
  Formatted date and time.
@@ -14942,6 +15000,14 @@ class RichTextDateTime(RichText):
14942
15000
  obj['text'] = RichText.de_json(obj['text'])
14943
15001
  return cls(**obj)
14944
15002
 
15003
+ def to_dict(self):
15004
+ data = super().to_dict()
15005
+ data['text'] = RichText.richtext_to_dict(self.text)
15006
+ data['unix_time'] = self.unix_time
15007
+ data['date_time_format'] = self.date_time_format
15008
+ return data
15009
+
15010
+
14945
15011
  class RichTextTextMention(RichText):
14946
15012
  """
14947
15013
  A mention of a Telegram user by their identifier.
@@ -14973,6 +15039,12 @@ class RichTextTextMention(RichText):
14973
15039
  obj['user'] = User.de_json(obj['user'])
14974
15040
  return cls(**obj)
14975
15041
 
15042
+ def to_dict(self):
15043
+ data = super().to_dict()
15044
+ data['text'] = RichText.richtext_to_dict(self.text)
15045
+ data['user'] = self.user.to_dict()
15046
+ return data
15047
+
14976
15048
 
14977
15049
  class RichTextSubscript(RichText):
14978
15050
  """
@@ -15000,6 +15072,12 @@ class RichTextSubscript(RichText):
15000
15072
  obj['text'] = RichText.de_json(obj['text'])
15001
15073
  return cls(**obj)
15002
15074
 
15075
+ def to_dict(self):
15076
+ data = super().to_dict()
15077
+ data['text'] = RichText.richtext_to_dict(self.text)
15078
+ return data
15079
+
15080
+
15003
15081
  class RichTextSuperscript(RichText):
15004
15082
  """
15005
15083
  A superscript text.
@@ -15026,6 +15104,12 @@ class RichTextSuperscript(RichText):
15026
15104
  obj['text'] = RichText.de_json(obj['text'])
15027
15105
  return cls(**obj)
15028
15106
 
15107
+ def to_dict(self):
15108
+ data = super().to_dict()
15109
+ data['text'] = RichText.richtext_to_dict(self.text)
15110
+ return data
15111
+
15112
+
15029
15113
  class RichTextMarked(RichText):
15030
15114
  """
15031
15115
  A marked text.
@@ -15052,6 +15136,12 @@ class RichTextMarked(RichText):
15052
15136
  obj['text'] = RichText.de_json(obj['text'])
15053
15137
  return cls(**obj)
15054
15138
 
15139
+ def to_dict(self):
15140
+ data = super().to_dict()
15141
+ data['text'] = RichText.richtext_to_dict(self.text)
15142
+ return data
15143
+
15144
+
15055
15145
  class RichTextCode(RichText):
15056
15146
  """
15057
15147
  A monowidth text.
@@ -15078,6 +15168,12 @@ class RichTextCode(RichText):
15078
15168
  obj['text'] = RichText.de_json(obj['text'])
15079
15169
  return cls(**obj)
15080
15170
 
15171
+ def to_dict(self):
15172
+ data = super().to_dict()
15173
+ data['text'] = RichText.richtext_to_dict(self.text)
15174
+ return data
15175
+
15176
+
15081
15177
  class RichTextCustomEmoji(RichText):
15082
15178
  """
15083
15179
  A custom emoji.
@@ -15107,6 +15203,13 @@ class RichTextCustomEmoji(RichText):
15107
15203
  obj = cls.check_json(json_string)
15108
15204
  return cls(**obj)
15109
15205
 
15206
+ def to_dict(self):
15207
+ data = super().to_dict()
15208
+ data['custom_emoji_id'] = self.custom_emoji_id
15209
+ data['alternative_text'] = self.alternative_text
15210
+ return data
15211
+
15212
+
15110
15213
  class RichTextMathematicalExpression(RichText):
15111
15214
  """
15112
15215
  A mathematical expression.
@@ -15132,6 +15235,12 @@ class RichTextMathematicalExpression(RichText):
15132
15235
  obj = cls.check_json(json_string)
15133
15236
  return cls(**obj)
15134
15237
 
15238
+ def to_dict(self):
15239
+ data = super().to_dict()
15240
+ data['expression'] = self.expression
15241
+ return data
15242
+
15243
+
15135
15244
  class RichTextUrl(RichText):
15136
15245
  """
15137
15246
  A text with a link.
@@ -15162,6 +15271,13 @@ class RichTextUrl(RichText):
15162
15271
  obj['text'] = RichText.de_json(obj['text'])
15163
15272
  return cls(**obj)
15164
15273
 
15274
+ def to_dict(self):
15275
+ data = super().to_dict()
15276
+ data['text'] = RichText.richtext_to_dict(self.text)
15277
+ data['url'] = self.url
15278
+ return data
15279
+
15280
+
15165
15281
  class RichTextEmailAddress(RichText):
15166
15282
  """
15167
15283
  A text with an email address.
@@ -15192,6 +15308,13 @@ class RichTextEmailAddress(RichText):
15192
15308
  obj['text'] = RichText.de_json(obj['text'])
15193
15309
  return cls(**obj)
15194
15310
 
15311
+ def to_dict(self):
15312
+ data = super().to_dict()
15313
+ data['text'] = RichText.richtext_to_dict(self.text)
15314
+ data['email_address'] = self.email_address
15315
+ return data
15316
+
15317
+
15195
15318
  class RichTextPhoneNumber(RichText):
15196
15319
  """
15197
15320
  A text with a phone number.
@@ -15222,6 +15345,13 @@ class RichTextPhoneNumber(RichText):
15222
15345
  obj['text'] = RichText.de_json(obj['text'])
15223
15346
  return cls(**obj)
15224
15347
 
15348
+ def to_dict(self):
15349
+ data = super().to_dict()
15350
+ data['text'] = RichText.richtext_to_dict(self.text)
15351
+ data['phone_number'] = self.phone_number
15352
+ return data
15353
+
15354
+
15225
15355
  class RichTextBankCardNumber(RichText):
15226
15356
  """
15227
15357
  A text with a bank card number.
@@ -15252,6 +15382,13 @@ class RichTextBankCardNumber(RichText):
15252
15382
  obj['text'] = RichText.de_json(obj['text'])
15253
15383
  return cls(**obj)
15254
15384
 
15385
+ def to_dict(self):
15386
+ data = super().to_dict()
15387
+ data['text'] = RichText.richtext_to_dict(self.text)
15388
+ data['bank_card_number'] = self.bank_card_number
15389
+ return data
15390
+
15391
+
15255
15392
  class RichTextMention(RichText):
15256
15393
  """
15257
15394
  A mention by a username.
@@ -15270,7 +15407,6 @@ class RichTextMention(RichText):
15270
15407
  :return: Instance of the class
15271
15408
  :rtype: :class:`RichTextMention`
15272
15409
  """
15273
-
15274
15410
  def __init__(self, text: RichText, username: str, **kwargs):
15275
15411
  super().__init__(type='mention', **kwargs)
15276
15412
  self.text: RichText = text
@@ -15283,6 +15419,12 @@ class RichTextMention(RichText):
15283
15419
  obj['text'] = RichText.de_json(obj['text'])
15284
15420
  return cls(**obj)
15285
15421
 
15422
+ def to_dict(self):
15423
+ data = super().to_dict()
15424
+ data['text'] = RichText.richtext_to_dict(self.text)
15425
+ data['username'] = self.username
15426
+ return data
15427
+
15286
15428
 
15287
15429
  class RichTextHashtag(RichText):
15288
15430
  """
@@ -15314,6 +15456,12 @@ class RichTextHashtag(RichText):
15314
15456
  obj['text'] = RichText.de_json(obj['text'])
15315
15457
  return cls(**obj)
15316
15458
 
15459
+ def to_dict(self):
15460
+ data = super().to_dict()
15461
+ data['text'] = RichText.richtext_to_dict(self.text)
15462
+ data['hashtag'] = self.hashtag
15463
+ return data
15464
+
15317
15465
 
15318
15466
  class RichTextCashtag(RichText):
15319
15467
  """
@@ -15345,6 +15493,12 @@ class RichTextCashtag(RichText):
15345
15493
  obj['text'] = RichText.de_json(obj['text'])
15346
15494
  return cls(**obj)
15347
15495
 
15496
+ def to_dict(self):
15497
+ data = super().to_dict()
15498
+ data['text'] = RichText.richtext_to_dict(self.text)
15499
+ data['cashtag'] = self.cashtag
15500
+ return data
15501
+
15348
15502
 
15349
15503
  class RichTextBotCommand(RichText):
15350
15504
  """
@@ -15376,6 +15530,12 @@ class RichTextBotCommand(RichText):
15376
15530
  obj['text'] = RichText.de_json(obj['text'])
15377
15531
  return cls(**obj)
15378
15532
 
15533
+ def to_dict(self):
15534
+ data = super().to_dict()
15535
+ data['text'] = RichText.richtext_to_dict(self.text)
15536
+ data['bot_command'] = self.bot_command
15537
+ return data
15538
+
15379
15539
 
15380
15540
  class RichTextAnchor(RichText):
15381
15541
  """
@@ -15402,6 +15562,11 @@ class RichTextAnchor(RichText):
15402
15562
  obj = cls.check_json(json_string)
15403
15563
  return cls(**obj)
15404
15564
 
15565
+ def to_dict(self):
15566
+ data = super().to_dict()
15567
+ data['name'] = self.name
15568
+ return data
15569
+
15405
15570
 
15406
15571
  class RichTextAnchorLink(RichText):
15407
15572
  """
@@ -15432,7 +15597,13 @@ class RichTextAnchorLink(RichText):
15432
15597
  obj = cls.check_json(json_string)
15433
15598
  obj['text'] = RichText.de_json(obj['text'])
15434
15599
  return cls(**obj)
15435
-
15600
+
15601
+ def to_dict(self):
15602
+ data = super().to_dict()
15603
+ data['text'] = RichText.richtext_to_dict(self.text)
15604
+ data['anchor_name'] = self.anchor_name
15605
+ return data
15606
+
15436
15607
 
15437
15608
  class RichTextReference(RichText):
15438
15609
  """
@@ -15452,7 +15623,6 @@ class RichTextReference(RichText):
15452
15623
  :return: Instance of the class
15453
15624
  :rtype: :class:`RichTextReference`
15454
15625
  """
15455
-
15456
15626
  def __init__(self, text: RichText, name: str, **kwargs):
15457
15627
  super().__init__(type='reference', **kwargs)
15458
15628
  self.text: RichText = text
@@ -15464,7 +15634,13 @@ class RichTextReference(RichText):
15464
15634
  obj = cls.check_json(json_string)
15465
15635
  obj['text'] = RichText.de_json(obj['text'])
15466
15636
  return cls(**obj)
15467
-
15637
+
15638
+ def to_dict(self):
15639
+ data = super().to_dict()
15640
+ data['text'] = RichText.richtext_to_dict(self.text)
15641
+ data['name'] = self.name
15642
+ return data
15643
+
15468
15644
 
15469
15645
  class RichTextReferenceLink(RichText):
15470
15646
  """
@@ -15483,9 +15659,7 @@ class RichTextReferenceLink(RichText):
15483
15659
 
15484
15660
  :return: Instance of the class
15485
15661
  :rtype: :class:`RichTextReferenceLink`
15486
-
15487
15662
  """
15488
-
15489
15663
  def __init__(self, text: RichText, reference_name: str, **kwargs):
15490
15664
  super().__init__(type='reference_link', **kwargs)
15491
15665
  self.text: RichText = text
@@ -15498,8 +15672,14 @@ class RichTextReferenceLink(RichText):
15498
15672
  obj['text'] = RichText.de_json(obj['text'])
15499
15673
  return cls(**obj)
15500
15674
 
15675
+ def to_dict(self):
15676
+ data = super().to_dict()
15677
+ data['text'] = RichText.richtext_to_dict(self.text)
15678
+ data['reference_name'] = self.reference_name
15679
+ return data
15680
+
15501
15681
 
15502
- class RichBlockCaption(JsonDeserializable):
15682
+ class RichBlockCaption(JsonDeserializable, Dictionaryable):
15503
15683
  """
15504
15684
  This object represents the caption of a rich formatted block.
15505
15685
 
@@ -15529,8 +15709,16 @@ class RichBlockCaption(JsonDeserializable):
15529
15709
  obj['credit'] = RichText.de_json(obj['credit'])
15530
15710
  return cls(**obj)
15531
15711
 
15712
+ def to_dict(self):
15713
+ data = {
15714
+ 'text': RichText.richtext_to_dict(self.text),
15715
+ }
15716
+ if self.credit is not None:
15717
+ data['credit'] = RichText.richtext_to_dict(self.credit)
15718
+ return data
15719
+
15532
15720
 
15533
- class RichBlockTableCell(JsonDeserializable):
15721
+ class RichBlockTableCell(JsonDeserializable, Dictionaryable):
15534
15722
  """
15535
15723
  This object represents a cell of a table.
15536
15724
 
@@ -15573,7 +15761,22 @@ class RichBlockTableCell(JsonDeserializable):
15573
15761
  if 'text' in obj:
15574
15762
  obj['text'] = RichText.de_json(obj['text'])
15575
15763
  return cls(**obj)
15576
-
15764
+
15765
+ def to_dict(self):
15766
+ data = {
15767
+ 'align': self.align,
15768
+ 'valign': self.valign,
15769
+ }
15770
+ if self.text is not None:
15771
+ data['text'] = RichText.richtext_to_dict(self.text)
15772
+ if self.is_header is not None:
15773
+ data['is_header'] = self.is_header
15774
+ if self.colspan is not None:
15775
+ data['colspan'] = self.colspan
15776
+ if self.rowspan is not None:
15777
+ data['rowspan'] = self.rowspan
15778
+ return data
15779
+
15577
15780
 
15578
15781
  class RichBlockListItem(JsonDeserializable):
15579
15782
  """
@@ -16517,9 +16720,9 @@ class InputMediaVoiceNote(InputMedia):
16517
16720
  if self.duration is not None:
16518
16721
  data['duration'] = self.duration
16519
16722
  return data
16520
-
16521
16723
 
16522
- class InputRichMessageMedia(Dictionaryable):
16724
+
16725
+ class InputRichMessageMedia(Dictionaryable, JsonSerializable):
16523
16726
  """
16524
16727
  This object represents a media element embedded in an outgoing rich message.
16525
16728
 
@@ -16545,12 +16748,12 @@ class InputRichMessageMedia(Dictionaryable):
16545
16748
  'media': self.media.to_dict()
16546
16749
  }
16547
16750
  return data
16548
-
16751
+
16549
16752
  def to_json(self) -> str:
16550
16753
  return json.dumps(self.to_dict())
16551
-
16552
16754
 
16553
- class InputRichBlockListItem(Dictionaryable):
16755
+
16756
+ class InputRichBlockListItem(Dictionaryable, JsonSerializable):
16554
16757
  """
16555
16758
  An item of a list to be sent.
16556
16759
 
@@ -16600,6 +16803,7 @@ class InputRichBlockListItem(Dictionaryable):
16600
16803
  def to_json(self) -> str:
16601
16804
  return json.dumps(self.to_dict())
16602
16805
 
16806
+
16603
16807
  class InputRichBlock(Dictionaryable, JsonSerializable):
16604
16808
  """
16605
16809
  This object represents a block in a rich formatted message to be sent.
@@ -16664,7 +16868,7 @@ class InputRichBlockParagraph(InputRichBlock):
16664
16868
 
16665
16869
  def to_dict(self) -> dict:
16666
16870
  data = super().to_dict()
16667
- data['text'] = self.text.to_dict()
16871
+ data['text'] = RichText.richtext_to_dict(self.text)
16668
16872
  return data
16669
16873
 
16670
16874
 
@@ -16693,7 +16897,7 @@ class InputRichBlockSectionHeading(InputRichBlock):
16693
16897
 
16694
16898
  def to_dict(self) -> dict:
16695
16899
  data = super().to_dict()
16696
- data['text'] = self.text.to_dict()
16900
+ data['text'] = RichText.richtext_to_dict(self.text)
16697
16901
  data['size'] = self.size
16698
16902
  return data
16699
16903
 
@@ -16723,7 +16927,7 @@ class InputRichBlockPreformatted(InputRichBlock):
16723
16927
 
16724
16928
  def to_dict(self) -> dict:
16725
16929
  data = super().to_dict()
16726
- data['text'] = self.text.to_dict()
16930
+ data['text'] = RichText.richtext_to_dict(self.text)
16727
16931
  if self.language is not None:
16728
16932
  data['language'] = self.language
16729
16933
  return data
@@ -16750,7 +16954,7 @@ class InputRichBlockFooter(InputRichBlock):
16750
16954
 
16751
16955
  def to_dict(self) -> dict:
16752
16956
  data = super().to_dict()
16753
- data['text'] = self.text.to_dict()
16957
+ data['text'] = RichText.richtext_to_dict(self.text)
16754
16958
  return data
16755
16959
 
16756
16960
 
@@ -16873,7 +17077,7 @@ class InputRichBlockBlockQuotation(InputRichBlock):
16873
17077
  data = super().to_dict()
16874
17078
  data['blocks'] = [block.to_dict() for block in self.blocks]
16875
17079
  if self.credit is not None:
16876
- data['credit'] = self.credit.to_dict()
17080
+ data['credit'] = RichText.richtext_to_dict(self.credit)
16877
17081
  return data
16878
17082
 
16879
17083
 
@@ -16902,9 +17106,9 @@ class InputRichBlockPullQuotation(InputRichBlock):
16902
17106
 
16903
17107
  def to_dict(self) -> dict:
16904
17108
  data = super().to_dict()
16905
- data['text'] = self.text.to_dict()
17109
+ data['text'] = RichText.richtext_to_dict(self.text)
16906
17110
  if self.credit is not None:
16907
- data['credit'] = self.credit.to_dict()
17111
+ data['credit'] = RichText.richtext_to_dict(self.credit)
16908
17112
  return data
16909
17113
 
16910
17114
 
@@ -17016,7 +17220,7 @@ class InputRichBlockTable(InputRichBlock):
17016
17220
  if self.is_striped is not None:
17017
17221
  data['is_striped'] = self.is_striped
17018
17222
  if self.caption is not None:
17019
- data['caption'] = self.caption.to_dict()
17223
+ data['caption'] = RichText.richtext_to_dict(self.caption)
17020
17224
  return data
17021
17225
 
17022
17226
 
@@ -17055,7 +17259,7 @@ class InputRichBlockDetails(InputRichBlock):
17055
17259
 
17056
17260
  def to_dict(self) -> dict:
17057
17261
  data = super().to_dict()
17058
- data['summary'] = self.summary.to_dict()
17262
+ data['summary'] = RichText.richtext_to_dict(self.summary)
17059
17263
  data['blocks'] = [block.to_dict() for block in self.blocks]
17060
17264
  if self.is_open is not None:
17061
17265
  data['is_open'] = self.is_open
@@ -17292,7 +17496,7 @@ class InputRichBlockThinking(InputRichBlock):
17292
17496
 
17293
17497
  def to_dict(self) -> dict:
17294
17498
  data = super().to_dict()
17295
- data['text'] = self.text.to_dict()
17499
+ data['text'] = RichText.richtext_to_dict(self.text)
17296
17500
  return data
17297
17501
 
17298
17502
 
telebot/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # Versions should comply with PEP440.
2
2
  # This line is parsed in setup.py:
3
- __version__ = '4.36.0'
3
+ __version__ = '4.36.1'