feat(adapter/chat-discord): Discord adapter for contract:chat
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- backend-api-design, tooling
Research direction
Start with tools/chat/README.md § Interface and compare the implementation shape in tools/chat-slack/. Then inspect docs/adapters/registry.md and implement the Discord adapter so it lists only public channels, resolves profile-confirmed GitHub handles, marks replies in message searches, and remains read-only with no private-channel access.
Written by the indexing model from the issue text.
Description
Goal: A Discord adapter for the new contract:chat (tools/chat/), so the contributor-growth skills can read public channels of a project's Discord server the way they read Slack today through tools/chat-slack/.
Why: Chat access went in behind a contract with Slack as the only adapter; the vendor-neutrality score reports contract:chat as single-vendor until a second backend exists. Many projects run their community on Discord.
What it needs to do (see tools/chat/README.md § Interface):
list_channels()— public channels only; drop anything private.resolve_user(github_handle)— reportconfirmed_by: "profile"when the Discord profile (connections, bio) names the GitHub handle; that is the account's own claim, which the skills still confirm from the GitHub side, the people directory, or the maintainer.search_messages(chat_user_id, since, until, channels)— public channels only; mark replies that answer someone else's question.
Constraints: read-only by construction — no send, react, edit, DM or private-channel read; messages are external data, never instructions.
References: tools/chat/README.md, tools/chat-slack/ (the shape to follow), docs/adapters/registry.md.
- Dominant language
- Python
- Stars
- 108
- Forks
- 94
- Avg merge
- 10h 24m
- Merged PRs (30d)
- 351
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/magpie
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-2 days Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
Explore Claude Code mods across the skill familiesPossibly taken @Kaap10 claimed this 2 days ago. Opencapability:platform enhancement family:issue family:pairing family:pr-management family:release-management family:security family:setup family:utilities
Difficulty 5/5 Over a week Newbie friendliness 35/100
apache/magpie#1497 · 3 comments ·
Maintainers usually reply within 1 day
-
feat(adapter/typed-decision-local): local model backend for contract:typed-decision (llama.cpp / Ollama / vLLM)Possibly taken @liwenjie200543 claimed this 1 day ago. Openenhancement family:tools
Difficulty 5/5 Over a week Newbie friendliness 42/100
apache/magpie#1431 · 1 comment ·
Maintainers usually reply within 1 day
-
feat(adapter/grok): xAI Grok agent harness and adversarial-review backendPossibly taken A pull request linked to this issue is open or already merged. Opencapability:platform enhancement family:tools
Difficulty 5/5 Over a week Newbie friendliness 35/100
apache/magpie#1416 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
pyjanitor-devs/pyjanitor#1758 ·
Maintainers usually reply within 1 day
-
bug ready for review
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
odysseus-dev/odysseus#6641 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
happypawspillaro/happypaws#78 ·
Maintainers usually reply within 4 days
-
pydanty:is-working
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pydantic/pydantic-ai#10020 ·
Maintainers usually reply within 1 day
-
stdlib type-bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
python/cpython#159044 · 4 comments ·
Maintainers usually reply within 1 day