CraftSpider / dpytest

A package that assists in writing tests for discord.py
MIT License
103 stars 24 forks source link

async for member in guild.fetch_members() not supported #64

Open largereptile opened 3 years ago

largereptile commented 3 years ago

Need to test a function using guild.fetch_members() and it is returning a not implemented error.


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <discord.iterators.MemberIterator object at 0x0000016DD90C5C48>

    async def __anext__(self):
        try:
>           msg = await self.next()

c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\discord\iterators.py:91: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <discord.iterators.MemberIterator object at 0x0000016DD90C5C48>

    async def next(self):
        if self.members.empty():
>           await self.fill_members()

c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\discord\iterators.py:621: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <discord.iterators.MemberIterator object at 0x0000016DD90C5C48>

    async def fill_members(self):
        if self._get_retrieve():
            after = self.after.id if self.after else None
>           data = await self.get_members(self.guild.id, self.retrieve, after)

c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\discord\iterators.py:640: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <discord.ext.test.backend.FakeHttp object at 0x0000016DD8F3C188>
args = (<discord.http.Route object at 0x0000016DD90BFB88>,)
kwargs = {'params': {'limit': 3}}
route = <discord.http.Route object at 0x0000016DD90BFB88>

    async def request(self, *args: typing.Any, **kwargs: typing.Any) -> typing.NoReturn:
        """
            Overloaded to raise a NotImplemented error informing the user that the requested operation
            isn't yet supported by ``dpytest``. To fix this, the method call that triggered this error should be
            overloaded below to instead trigger a callback and call the appropriate backend function.

        :param args: Arguments provided to the request
        :param kwargs: Keyword arguments provided to the request
        """
        route: discord.http.Route = args[0]
        raise NotImplementedError(
>           f"Operation occured that isn't captured by the tests framework. This is dpytest's fault, please report"
            f"an issue on github. Debug Info: {route.method} {route.url} with {kwargs}"
        )
E       NotImplementedError: Operation occured that isn't captured by the tests framework. This is dpytest's fault, please reportan issue on github. Debug Info: GET https://discord.com/api/v7/guilds/3465118483657273855/members with {'params': {'limit': 3}}```
Sergeileduc commented 1 year ago

Is this issue still a thing and should remain opened ?