haskell chatrooms-club eebot !!! uwu
一个对某工会某频道近期的新消息进行 AI 汇总的项目
已部署至 @MuRongPIG 的服务器 (Thank you~)
生成的报告将自动发表至 纸片君ee的博客: 聊天室时报!
……由于硬盘堆满而没有空间安装庞大的 GHC 而暂时搁置 QAQ
- Author:Paperee57 (ee)
- Started:May 1, 2026 (劳动节快乐~)
- Description:Haskell 语言初尝试!OvO
- Thanks:Chatrooms Club,discord-haskell Docs
该项目折磨人的开发过程见 Wiki 更新记录见 CHANGELOG.md
感觉目录文件树还挺清晰 这里也放一个
hcc-eebot
├─ app
│ └─ Main.hs
├─ CHANGELOG.md
├─ config.yaml
├─ hcc-eebot.cabal
├─ LICENSE
├─ package.yaml
├─ README.md
├─ Setup.hs
├─ src
│ └─ Groq.hs
├─ stack.yaml
├─ stack.yaml.lock
└─ uwu
├─ header.md
├─ history.txt
├─ prompt.txt
└─ report.md
请自行搜索/查询写入环境变量的方式 有很多种
- 拥有 Discord 账号并在 Discord 开发者平台 申请自己的 bot
- 将 token 与 id 写入环境变量
HCCBOT_TOKEN和HCCBOT_ID - 注册 Groq 平台 并创建新的 API Key (有免费模型)
- 将 API Key 写入环境变量
GROQ_API_KEY
工会和频道 id 可以在 Discord 的 web URL 中获取
- 修改
mainGuildId字段为 bot 加入的工会 id - 修改
mainChannelId字段为该工会其中某频道的 id - 其他字段也可以修改 (但是没必要) 以下一一列举
timeInterval: 每隔多少分钟请求历史记录并生成报告 (60)maxHistory: 每次请求多少条历史记录 (100)msgLength: 限制历史记录中单条消息的长度 (50)historyPath: 历史记录文件存放的路径 (./uwu/history.txt)reportPath: 报告文件存放的路径 (./uwu/report.md)promptPath: 提示词从该路径读取 (./uwu/prompt.txt)headerPath: 报告头部从该路径读取 (./uwu/header.md)groqModel:Groq 平台的大模型 (openai/gpt-oss-120b)
编译是一个非常… 漫长的过程 足以让你从 Haskell 语言入门到入土
不过 首先 你应该想办法安装并配置 Stack 环境
如果你使用
stack built编译成功 执行该指令让它跑起来!uwu
输入/输出文件的示例:prompt.txt,header.md,history.txt,report.md