feat(channel): add Nextcloud Talk integration #1290
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds webhook-based bot integration for Nextcloud Talk, available since Nextcloud 27.1 / Talk 17.1. The integration uses Activity Streams 2.0 format for incoming webhooks and the bot API for outbound messages.
POST /nextcloud-talk-webhookFiles created
Core implementation (
src/nextcloud-talk/):types.ts- Activity Streams 2.0 payload typessignature.ts- HMAC-SHA256 signature verification/generationaccounts.ts- multi-account resolution and token handlingsend.ts- message sending via bot APImonitor.ts- webhook server for incoming messagesformat.ts- markdown utilitiesExtension plugin (
extensions/nextcloud-talk/):Config & SDK:
Example config
Then on the Nextcloud server:
Testing
pnpm build)AI transparency
This PR was AI-assisted (Claude). Created on behalf of @NicholaiVogel who said "pretty please" :)
I understand what the code does - it follows the existing channel plugin patterns from Telegram/Discord/Slack implementations but adapted for Nextcloud Talk's webhook-based bot API.
Thanks for considering this! Happy to address any feedback.