Closed tuzonghua closed 3 years ago
You're going to have to use a modified context if you're going to... change the context of the command mid-way.
You can override the send_initial_message function and use ctx.author.send.
I missed your original point, OP.
What's wrong here is that you're calling a Member object a Messageable object.
Simply do
dm = await ctx.author.create_dm()
await m.start(ctx, channel=dm)
And it shoooould work
@diceroll123 Yes, that worked perfectly. I just missed how to get a DMChannel
to call start()
with.
Menu.start()
accepts achannel
argument of typediscord.abc.Messageable
, which should mean menus can be sent to DMs. However, it looks like it callspermissions_for
here, which doesn't exist on thediscord.Member
class, even though that class implements theMessageable
ABC.For example, this returns an error
AttributeError: 'Member' object has no attribute 'permissions_for'
:Let me know if I'm misunderstanding how this should work.