Discord Bot python 3.6 报告命令

Posted

技术标签:

【中文标题】Discord Bot python 3.6 报告命令【英文标题】:Discord Bot python 3.6 report command 【发布时间】:2020-08-11 17:57:45 【问题描述】:

我正在用 python 制作一个自定义的不和谐机器人。我正在尝试添加一个 !report 命令。 我很困惑,无法在任何地方找到答案。有人可以帮我做吗?

我希望任何用户都能做到!report @example reason. 并将其保存在 excel 或 sql3 等数据库中,或者最好保存在员工频道中。 我该怎么做?

我尝试过使用on_message()

【问题讨论】:

【参考方案1】:

您可以使用on_message() 命令:

@client.event
async def on_message(message):
    if message.content.startswith("!report"):
        report_channel = client.get_channel(channel id)
        member = text.split(" ")[1]
        reason = ' '.join(text.split(" ")[1:])
        await report_channel.send(f"Member: member, Reason: reason")

所以首先要查看该人是否使用带有 if 语句的“!report”命令。

接下来,您通过获取消息的第二个单词来找到该成员。

然后,您通过查看消息中的其余单词来找到原因。

然后你将它发送到不和谐的预定义报告频道。

【讨论】:

我收到错误AttributeError: 'Message' object has no attribute 'startswith' 你使用了小写的 m 吗? 对不起,它的message.content.startswith() 我会改变答案。 message 是对象,content 是文本。 很抱歉打扰你,但当我得到NameError: name 'text' is not defined 把这两个都改成message.content 抱歉我写得很快,无法运行它

以上是关于Discord Bot python 3.6 报告命令的主要内容,如果未能解决你的问题,请参考以下文章

在 Python Discord Bot 中按名称而不是 ID 向特定文本通道发送消息

Python Discord Bot 未加入语音频道

Discord Python Bot- 修复清除命令

Discord bot python:discord.errors.ClientException:找不到ffmpeg

Python Discord Bot 取消命令

Discord Python Bot - Bot 的消息不会自动嵌入链接/图像/等