{
  "version": "1.0",
  "type": "repository",
  "interval": "day",
  "date": "2025-12-19",
  "generatedAt": "2026-05-14T23:36:28.170Z",
  "sourceLastUpdated": "2026-05-14T23:36:28.170Z",
  "contentFormat": "markdown",
  "contentHash": "339af9e5576125b7909b379ba9e5776b91572f061059d484761927ff4e2d7164",
  "entity": {
    "repoId": "elizaos-plugins/plugin-discord",
    "owner": "elizaos-plugins",
    "repo": "plugin-discord"
  },
  "content": "# elizaos-plugins/plugin-discord Daily Update (Dec 19, 2025)\n## OVERVIEW \nThe day saw significant progress in Discord bot functionality with the introduction of a tiered permission system for invite URLs and enhanced slash command permissions, alongside discussions on extending JSON API endpoints.\n\n## KEY TECHNICAL DEVELOPMENTS\n\n### Enhanced Discord Bot Permissions and Invite System\n- A new tiered permission system for Discord bot invite URLs was implemented, featuring a 3x2 matrix of role levels (Basic, Moderator, Admin) and voice options (With Voice, Without Voice). This involved adding a centralized `permissions.ts` file and enhancing the banner. ([#33](https://github.com/elizaos-plugins/plugin-discord/pull/33))\n- Hybrid slash-command permissions were added, incorporating Discord permissions, channel-whitelist bypass, and custom validators. This also included a safer command registration pipeline and fixes for DM channel handling. ([#29](https://github.com/elizaos-plugins/plugin-discord/pull/29))\n\n## NEWLY OPENED PULL REQUESTS\nNo new pull requests were opened today.\n\n## CLOSED ISSUES\nNo issues were closed today.\n\n## NEW ISSUES\nNo new issues were reported today.\n\n## ACTIVE ISSUES\n\n### Discussion on JSON API Endpoints for Summaries\n- Issue [#185](https://github.com/elizaos-plugins/plugin-discord/issues/185) discusses extending the static JSON API to include summary endpoints.\n- The refined approach, based on data engineering feedback, proposes generating JSON alongside markdown during the `summarize` command, rather than as a separate export step.\n- Key design decisions include generating JSON alongside markdown, allowing full export due to manageable data volume, and retaining `export-summaries` as a backfill tool.\n- The proposed `SummaryAPIResponse` shape includes version, type, interval, date, generation timestamps, content format, and a content hash for change detection.\n- Endpoints are planned for dated files (overall, repos, contributors) and \"latest\" pointers, with index files starting with overall.\n- Implementation changes involve modifying existing summary generation files to write JSON, adding `apiHelpers.ts` for utilities like `sha256`, `buildSummaryResponse`, `writeLatestPointer`, and `updateIndex`.\n- The rationale for this approach is to keep JSON artifacts in sync with markdown and the database, avoid extra workflow steps, enable efficient client-side caching, and provide an upgrade path for incremental export.\n- A comment from `madjin` further refines the approach by suggesting extending `fsHelpers.ts` instead of creating a new `apiHelpers.ts` and adding types inline or to existing files to keep things DRY. It also highlights the need for `sha256()`, `getContributorSummaryFilePath()`, `getAPIFilePath()`, `writeLatestPointer()`, `updateIndex()`, and specific type definitions."
}