Skip to content

Bug in printing discord.Interaction #12

Open
@Ibrahim2750mi

Description

@Ibrahim2750mi

When I am trying to print discord.Interaction object it throws this error

Ignoring exception in command test_command:
Traceback (most recent call last):
  File "/home/ibrahim/.local/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "main.py", line 245, in test_command
    print(interaction, button)
  File "/home/ibrahim/.local/lib/python3.8/site-packages/discord/interactions.py", line 96, in __repr__
    return f'<Interaction {", ".join(["%s=%s" % (a, getattr(self, a)) for a in self.__slots__ if a[0] != "_"])}>'
AttributeError: 'Interaction' object has no attribute '__slots__'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ibrahim/.local/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 1062, in invoke
    await ctx.command.invoke(ctx)
  File "/home/ibrahim/.local/lib/python3.8/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/home/ibrahim/.local/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Interaction' object has no attribute '__slots__'

I think its caused because in the __init__ it doesn't defines __slots__ and in the __repr__ part, it inserted __slots__ in the return statement. So, it raised an AttributeError

This is the code that I ran to get the error

@commands.command(ignore_extra=True)
async def test_command(self, ctx, count:int):
    new_button = Button(label="test_button", custom_id = "009")
    message = await ctx.send("test", components = [[new_button]])

    def check_button(i: discord.Interaction, button):
        return i.author == ctx.author and i.message == message

    interaction, button = await bot.wait_for('button_click', check=check_button)

    print(interaction, button)

    await interaction.edit(content=count)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed in developer-branchThis Issue is fixed in the developer branch

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions