You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py如何将不含'hi'的未知频道消息保存到txt文件

代码修改实现说明
  • 原有代码存在两个可优化点:
    1. 缺少对消息不包含hi的逻辑判断
    2. 原有写文件用的覆盖模式w会清空历史内容,改为追加模式a才能持续存储新的未知消息
  • 使用前请把代码里的Path/To/Your/File.txt替换为你本地实际的文本文件路径
async def on_message(self, message):
    # 过滤机器人自己发送的消息
    if message.author == self.user:
        return

    msg_content = message.content.lower()
    if msg_content == 'hi':
        await message.channel.send('hello')
    # 匹配不包含hi的非空消息
    elif 'hi' not in msg_content and msg_content.strip() != '':
        # 用追加模式a打开文件,不会覆盖原有内容
        with open("Path/To/Your/File.txt", "a", encoding="utf-8") as f:
            # 写入格式可按需调整,示例存发送时间+发送人+消息内容
            write_content = f"{message.created_at} | {message.author} : {message.content}\n"
            f.write(write_content)
  • 此处使用with语法打开文件不需要手动调用close(),会自动处理文件关闭逻辑,避免资源泄漏
  • 新增encoding="utf-8"参数避免写入特殊字符时报错
  • 额外增加了空消息过滤规则,避免无意义的空内容写入文件

内容的提问来源于stack exchange,提问作者Pika Chu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:04