TypeError: get_members() takes 2 positional arguments but 3 were given (I actually gave 2)

TypeError: get_members() takes 2 positional arguments but 3 were given (I actually gave 2)

我正在制作一个机器人,它有一个名为 get_members() 的方法,它需要 2 个参数 self and client。我提供了两个参数,但它仍然说我提供了 3 个参数。

客户端参数也显示警告意外参数

堆栈跟踪

Traceback (most recent call last):
  File "C:\Users\Vinesh\Documents\GitHub\DMBot\lib\scraper.py", line 18, in fetch
    self.scrape()
  File "C:\Users\Vinesh\Documents\GitHub\DMBot\lib\scraper.py", line 14, in scrape
    self.scraped = self.get_members(self, client)
TypeError: get_members() takes 2 positional arguments but 3 were given

During handling of the above exception, another exception occurred:

self不能被你通过。它由 Python.

隐式传递
self.get_members(client)

你必须删除第一个参数self,因为get_members已经是一个方法,self它已经在你调用它时隐式传递,所以你需要做: self.get_members(client)

你在调用方法时传递了self参数,python已经确认了self参数,你不需要再次传递,所以你的代码应该是:

self.scraped = self.get_members(client)

如果您的客户端在您的 class 中,您需要将 self 参数传递给您的客户端。所以你的代码将是:

self.scraped = self.get_members(self.client)