3838 TypeVar ,
3939 Union ,
4040)
41+ from typing_extensions import Self
4142
4243from .audit_logs import AuditLogEntry
4344from .errors import NoMoreItems
4445from .object import Object
45- from .utils import maybe_coroutine , snowflake_time , time_snowflake , warn_deprecated
46+ from .utils import maybe_coroutine , snowflake_time , time_snowflake , warn_deprecated , MISSING
4647
4748__all__ = (
4849 "ReactionIterator" ,
@@ -1308,6 +1309,10 @@ def __init__(
13081309 self .messages = asyncio .Queue ()
13091310 self .message_ids = []
13101311
1312+ self .doing_deep_historical_index : bool = MISSING
1313+ self .documents_indexed : int | None = MISSING
1314+ self .total_results : int = MISSING
1315+
13111316 async def next (self ) -> Message :
13121317 if self .messages .empty ():
13131318 await self .fill_messages ()
@@ -1334,7 +1339,7 @@ async def fill_messages(self):
13341339 # "Clients should not rely on the length of the `messages` array to paginate results"
13351340 self .limit = 0 # terminate the infinite loop
13361341
1337- data .get ("threads" , [])
1342+ threads = data .get ("threads" , [])
13381343 members = data .get ("members" , []) # do something here
13391344
13401345 for element in data ["messages" ]:
@@ -1351,8 +1356,18 @@ async def _retrieve_messages(self, retrieve: int) -> list[MessagePayload]:
13511356 data : list [MessageSearchPayload ] = await self .search (
13521357 self .guild .id , ** self .params
13531358 )
1359+ self .total_results = data .get ("total_results" )
1360+ self .doing_deep_historical_index = data .get ("doing_deep_historical_index" )
1361+ self .documents_indexed = data .get ("documents_indexed" )
13541362 self .params ["offset" ] = self .params .get ("offset" , 0 ) + retrieve
13551363 if data ["messages" ]:
13561364 if self .limit is not None :
13571365 self .limit -= retrieve
13581366 return data
1367+
1368+ async def retrieve_inner (self ) -> Self :
1369+ await self .fill_messages ()
1370+ return self
1371+
1372+ def __await__ (self ) -> Generator [Any , Any , MessagePin ]:
1373+ return self .retrieve_inner ().__await__ ()
0 commit comments