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.