mirror of
https://github.com/Comfy-Org/Comfy-PR.git
synced 2026-11-04 23:37:33 +00:00
[PR #130] feat: Add ComfyPR Bot with Slack/Notion integration and fix event handling #130
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/Comfy-PR#130
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/Comfy-PR/pull/130
Author: @comfy-pr-bot
Created: 12/24/2025
Status: 🔄 Open
Base:
main← Head:feat/comfypr-bot-skills📝 Commits (1)
090688afeat: add ComfyPR Bot with Slack/Notion integration and fix event handling📊 Changes
13 files changed (+1348 additions, -2 deletions)
View changed files
📝
CLAUDE.md(+51 -2)➕
bot/BUGFIX.md(+178 -0)➕
bot/Dockerfile(+25 -0)➕
bot/IdleWaiter.ts(+31 -0)➕
bot/README.md(+133 -0)➕
bot/index.ts(+505 -0)➕
bot/notion-search.ts(+89 -0)➕
bot/slack/msg-read-thread.ts(+84 -0)➕
bot/slack/msg-update.ts(+63 -0)➕
bot/slack/parseSlackMessageToMarkdown.spec.ts(+76 -0)➕
bot/slack/parseSlackMessageToMarkdown.ts(+68 -0)➕
bot/slack/slackTsToISO.spec.ts(+28 -0)➕
bot/slack/slackTsToISO.ts(+17 -0)📄 Description
Summary
This PR adds the ComfyPR Bot system with comprehensive Slack and Notion integration skills, plus critical bug fixes for Slack WebSocket event handling.
Bot Skills Implementation
Created a full-featured bot skills system with CLI tools for Slack and Notion integration:
Slack Skills (
bot/slack/).spec.tsfiles (16 tests passing)Notion Skills (
bot/)Documentation
Bug Fixes
Fix 1: App Mention Event Schema Mismatch
Problem: Bot was rejecting valid
app_mentioneventsRoot Cause:
client_msg_idwas required but Slack doesn't always include it (e.g., retry attempts)attachmentsfield was missing from schema (needed for message unfurls)Solution:
client_msg_idoptional in Zod schemaattachmentsfield as optional arrayFix 2: WebSocket System Messages Not Handled
Problem: Normal Slack protocol messages logged as
MSG_NOT_MATCHEDRoot Cause:
app_mentioneventsSolution:
Testing
All skills have comprehensive test coverage:
Manual verification:
bot/msg.logSecurity Review
.gitignore(already has*.log)Files Changed
New Files:
bot/index.ts- Main bot implementationbot/README.md- Skills documentationbot/BUGFIX.md- Bug fix documentationbot/notion-search.ts- Notion search skillbot/slack/msg-update.ts- Slack message update skillbot/slack/msg-read-thread.ts- Slack thread reader skillbot/slack/parseSlackMessageToMarkdown.ts- Slack to Markdown converterbot/slack/slackTsToISO.ts- Timestamp converterbot/slack/*.spec.ts- Test filesbot/Dockerfile- Bot container configurationbot/IdleWaiter.ts- Utility for idle detectionModified Files:
CLAUDE.md- Added ComfyPR Bot Skills documentation sectionContext Repositories
The bot has knowledge of these Comfy-Org repositories:
Next Steps
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.