Discord.py modmail 系统

时间:2021-04-28 20:26:11

标签: python-3.x discord discord.py

基本上我想制作一个 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 或名称?

1 个答案:

答案 0 :(得分:3)

我在您的代码中看到一些错误,这些错误通常会阻止事件或无法按照您想要的方式工作。

第一:它被称为node->title[ strcspn( node->title, "\r\n" ) ] = '\0'; 不是 client.event。括号仅用于命令。

其次:您不能像使用 client.event() 事件一样使用 ctx.author.name。要获得作者,您必须使用 message

第三:您必须定义 message.author.name 函数才能向所需频道发送消息。

查看完整代码:

await