File tree Expand file tree Collapse file tree
pyrogram/client/methods/messages Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616# You should have received a copy of the GNU Lesser General Public License
1717# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
1818
19+ import logging
20+ import time
1921from typing import Union , Iterable
2022
2123import pyrogram
2224from pyrogram .api import functions , types
25+ from pyrogram .api .errors import FloodWait
2326from ...ext import BaseClient
2427
28+ log = logging .getLogger (__name__ )
29+
2530
2631class GetMessages (BaseClient ):
2732 def get_messages (self ,
@@ -78,6 +83,15 @@ def get_messages(self,
7883 else :
7984 rpc = functions .messages .GetMessages (id = ids )
8085
81- messages = pyrogram .Messages ._parse (self , self .send (rpc ), replies )
86+ while True :
87+ try :
88+ r = self .send (rpc )
89+ except FloodWait as e :
90+ log .warning ("Sleeping for {}s" .format (e .x ))
91+ time .sleep (e .x )
92+ else :
93+ break
94+
95+ messages = pyrogram .Messages ._parse (self , r , replies = replies )
8296
8397 return messages if is_iterable else messages .messages [0 ]
You can’t perform that action at this time.
0 commit comments