Skip to content

Commit 1b5806c

Browse files
committed
bot.py: add create_references method
1 parent 5879084 commit 1b5806c

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

telegram/bot.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1178,6 +1178,26 @@ def editMessageReplyMarkup(
11781178

11791179
return url, data
11801180

1181+
def create_references(self, d):
1182+
"""
1183+
Recursively reates a reference to this Bot instance in the dict and all contained dicts and
1184+
lists of dicts. This reference can then be retrieved in constructors to be used in class
1185+
methods like ``Message.reply_text``.
1186+
1187+
Args:
1188+
d (dict): The dict to create the references in.
1189+
"""
1190+
1191+
for value in d.values():
1192+
if isinstance(value, list):
1193+
for item in value:
1194+
self.create_references(item)
1195+
1196+
elif isinstance(value, dict):
1197+
self.create_references(value)
1198+
1199+
d['bot'] = self
1200+
11811201
@log
11821202
def getUpdates(self, offset=None, limit=100, timeout=0, network_delay=5., **kwargs):
11831203
"""Use this method to receive incoming updates using long polling.
@@ -1221,10 +1241,14 @@ def getUpdates(self, offset=None, limit=100, timeout=0, network_delay=5., **kwar
12211241

12221242
if result:
12231243
self.logger.debug('Getting updates: %s', [u['update_id'] for u in result])
1244+
12241245
else:
12251246
self.logger.debug('No new updates found.')
12261247

1227-
return [Update.de_json(x) for x in result]
1248+
for u in result:
1249+
self.create_references(u)
1250+
1251+
return [Update.de_json(u) for u in result]
12281252

12291253
@log
12301254
def setWebhook(self, webhook_url=None, certificate=None, **kwargs):

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy