Skip to content

Comments

Add discord-connector community ability#119

Open
MKmuneebkhalid wants to merge 7 commits intoopenhome-dev:devfrom
MKmuneebkhalid:add-discord-connector
Open

Add discord-connector community ability#119
MKmuneebkhalid wants to merge 7 commits intoopenhome-dev:devfrom
MKmuneebkhalid:add-discord-connector

Conversation

@MKmuneebkhalid
Copy link

🎥 Demo

Loom Video: Discord Connector in action


What does this Ability do?

A voice-powered Discord client that lets you read messages, post updates, get channel digests, and list/switch channels — all through voice. Uses the Discord Bot API (REST v10) for real-time server access with persistent channel preferences across sessions.

Suggested Trigger Words

  • "discord"
  • "discord messages"
  • "check discord"
  • "discord digest"
  • "post to discord"
  • "discord update"
  • "what's happening on discord"
  • "discord channel"
  • "send a discord message"

Type

  • New community Ability
  • Improvement to existing Ability
  • Bug fix
  • Documentation update

External APIs

  • No external APIs
  • Uses external API(s):

Testing

  • Tested in OpenHome Live Editor
  • All exit paths tested (said "stop", "exit", etc.)
  • Error scenarios tested (API down, bad input, etc.)

Checklist

  • Files are in community/discord-connector/
  • main.py follows SDK pattern (extends MatchingCapability, has register_capability + call)
  • README.md included with description, suggested triggers, and setup
  • resume_normal_flow() called on every exit path (in finally block)
  • No print() — using editor_logging_handler
  • No hardcoded API keys — using REPLACE_WITH_YOUR_BOT_TOKEN placeholder with signup link
  • No blocked imports (redis, connection_manager, user_config)
  • No asyncio.sleep() or asyncio.create_task() — using session_tasks
  • Error handling on all external calls
  • Tested in OpenHome Live Editor

Anything else?

Features:

  • Read Messages — fetches recent messages and reads them aloud via LLM summarization
  • Post Updates — compose and send messages via voice with confirmation before posting
  • Get Digests — summarizes recent channel activity into a spoken briefing
  • List/Switch Channels — browse text channels and switch by name with fuzzy matching
  • Persistence — remembers preferred server and channel across sessions via discord_connector_prefs.json
  • Quick Mode + Full Mode — quick answers for direct questions, full interactive session for "check discord"
  • LLM Intent Classification — routes trigger context and in-session commands to the correct handler

Validated locally with python3 validate_ability.py community/discord-connector/ — all checks passed.

@MKmuneebkhalid MKmuneebkhalid requested a review from a team as a code owner February 23, 2026 15:01
@github-actions
Copy link
Contributor

github-actions bot commented Feb 23, 2026

🔀 Branch Merge Check

PR direction: add-discord-connectordev

Passedadd-discord-connectordev is a valid merge direction

@github-actions github-actions bot added first-contribution First-time contributor community-ability Community-contributed ability labels Feb 23, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 23, 2026

🔍 Lint Results

🔧 Auto-formatted

Some files were automatically cleaned and formatted with autoflake + autopep8 and committed.

  • Unused imports removed (autoflake)
  • Unused variables removed (autoflake)
  • PEP8 formatting applied (autopep8)

__init__.py — Empty as expected

Files linted: community/discord-connector/main.py

✅ Flake8 — Passed

✅ All checks passed!

@github-actions
Copy link
Contributor

github-actions bot commented Feb 23, 2026

✅ Ability Validation Passed

📋 Validating: community/discord-connector
  ✅ All checks passed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-ability Community-contributed ability first-contribution First-time contributor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant