#attempting to lock an already locked bucket

1 messages · Page 1 of 1 (latest)

outer laurel
#

The code in question tries so send DMs to 8 users simultaneously with Asyncio.gather

Traceback (most recent call last):
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/ext/prefixed_commands/manager.py", line 336, in _dispatch_prefixed_commands
    await command(context)
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/models/internal/command.py", line 132, in __call__
    await self.call_callback(self.callback, context)
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/ext/prefixed_commands/command.py", line 712, in call_callback
    return await self.call_with_binding(callback, ctx)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/models/internal/callback.py", line 43, in call_with_binding
    return await callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/sotiny/discord_wrapper/draft_cog.py", line 107, in play
    await self.register_player(ctx, True)
  File "/home/discord/sotiny/discord_wrapper/draft_cog.py", line 139, in register_player
    await guild.start(ctx)
  File "/home/discord/sotiny/discord_wrapper/guild.py", line 112, in start
    await draft.start(ctx.channel, self.pending_conf.number_of_packs, self.pending_conf.cards_per_booster, self.pending_conf.cube_id)
  File "/home/discord/sotiny/discord_wrapper/discord_draft.py", line 129, in start
    await asyncio.gather(*[self.send_pack_to_player(intro, p) for p in players_to_update])
  File "/home/discord/sotiny/discord_wrapper/discord_draft.py", line 209, in send_pack_to_player
    message = await send_image_with_retry(messageable, image_file, components=components)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/sotiny/discord_wrapper/discord_draft.py", line 399, in send_image_with_retry
    message = await user.send(file=image_file, content=text, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/client/mixins/send.py", line 110, in send
    message_data = await self._send_http_request(message_payload, files=files or file)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/models/discord/user.py", line 42, in _send_http_request
    dm_id = await self._client.cache.fetch_dm_channel_id(self.id)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/client/smart_cache.py", line 532, in fetch_dm_channel_id
    data = await self._client.http.create_dm(user_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/api/http/http_requests/users.py", line 77, in create_dm
    return await self.request(Route("POST", "/users/@me/channels"), payload={"recipient_id": recipient_id})
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/api/http/http_client.py", line 437, in request
    await lock.lock_for_duration(
  File "/home/discord/.local/share/virtualenvs/sotiny-1KTnZqav/lib/python3.11/site-packages/interactions/api/http/http_client.py", line 179, in lock_for_duration
    raise RuntimeError("Attempted to lock a bucket that is already locked.")
RuntimeError: Attempted to lock a bucket that is already locked.
midnight tinselBOT
#

Hey! Once your issue is solved, press the button below to close this thread!