基本上我想制作一个 modmail 系统,一旦有人 dms 一个机器人,它就会打开一个频道,在那里发送 DM 机器人的人可以通过机器人进行对话。 Mods 将通过通道进行通信。
问题是,我知道如何做大部分事情,但我被困在其中之一。这是我的代码:
@client.event()
async def on_message(message):
if str(message.channel.type) == "private":
guild = client.get_guild()
await guild.create_text_channel(ctx.author.name)
else:
return
这就是我的代码,它基本上创建了一个以用户名命名的频道。现在我遇到的是:如何让它将消息发送到该特定频道,如何在频道创建后获取其 ID 或名称?
答案 0 :(得分:3)
我在您的代码中看到一些错误,这些错误通常会阻止事件或无法按照您想要的方式工作。
第一:它被称为node->title[ strcspn( node->title, "\r\n" ) ] = '\0';
,不是 client.event
。括号仅用于命令。
其次:您不能像使用 client.event()
事件一样使用 ctx.author.name
。要获得作者,您必须使用 message
第三:您必须定义 message.author.name
函数才能向所需频道发送消息。
查看完整代码:
await