【问题标题】:discord.py TypeError: object Lock can't be used in 'await' expressiondiscord.py TypeError:对象锁不能用于“等待”表达式
【发布时间】:2021-08-31 17:36:31
【问题描述】:

请帮忙。 一切正常,但显然一些更新改变了一些东西。 我不明白如何解决这个问题 感谢您的帮助

future: <Task finished name='Task-28' coro=<MusicPlayer._play() done, defined at player.py:263 exception=TypeError("object Lock can't be used in 'await' expression")>
Traceback (most recent call last):
  File "player.py", line 273, in _play
    with await self._play_lock:
TypeError: object Lock can't be used in 'await' expression
Task exception was never retrieved
future: <Task finished name='Task-33' coro=<MusicPlayer._play() done, defined at player.py:263 exception=TypeError("object Lock can't be used in 'await' expression")>
Traceback (most recent call last):
  File "player.py", line 273, in _play
    with await self._play_lock:
TypeError: object Lock can't be used in 'await' expression

    async def _play(self, _continue=False):
        if self.is_paused and self._current_player:
            return self.resume()

        if self.is_dead:
            return

        with await self._play_lock:
            if self.is_stopped or _continue:
                try:
                    entry = await self.playlist.get_next_entry()
                except:
                    log.warning("Failed to get entry, retrying", exc_info=True)
                    self.loop.call_later(0.1, self.play)
                    return

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    你不要使用这样的异步上下文管理器,试试这个

    async with self._play_lock:
        ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 2021-06-02
      • 2021-10-09
      • 2021-09-28
      • 1970-01-01
      相关资源
      最近更新 更多