diff --git a/channels/README.md b/channels/README.md new file mode 100644 index 0000000..d482207 --- /dev/null +++ b/channels/README.md @@ -0,0 +1,7 @@ +# Channel Adapters Registry + +This directory contains TOML metadata files for all supported LibreFang channel adapters. + +Each `.toml` file describes a single channel adapter including its name, description, category, protocol, and relevant links. These files are used by the LibreFang registry to discover and display available channel integrations. + +See `../templates/channel.toml` for the file format template. diff --git a/channels/bluesky.toml b/channels/bluesky.toml new file mode 100644 index 0000000..98204e0 --- /dev/null +++ b/channels/bluesky.toml @@ -0,0 +1,10 @@ +id = "bluesky" +name = "Bluesky" +description = "Bluesky AT Protocol adapter for posting and reading from the decentralized social network" +category = "social" +icon = "🦋" +protocol = "rest-api" + +[metadata] +url = "https://bsky.app" +docs = "https://docs.bsky.app" diff --git a/channels/dingtalk.toml b/channels/dingtalk.toml new file mode 100644 index 0000000..a11f895 --- /dev/null +++ b/channels/dingtalk.toml @@ -0,0 +1,10 @@ +id = "dingtalk" +name = "DingTalk" +description = "DingTalk bot adapter for sending messages to DingTalk groups and conversations" +category = "enterprise" +icon = "🔔" +protocol = "webhook" + +[metadata] +url = "https://www.dingtalk.com" +docs = "https://open.dingtalk.com/document/" diff --git a/channels/discord.toml b/channels/discord.toml new file mode 100644 index 0000000..1af48c4 --- /dev/null +++ b/channels/discord.toml @@ -0,0 +1,10 @@ +id = "discord" +name = "Discord" +description = "Discord bot adapter for sending and receiving messages in Discord servers and channels" +category = "messaging" +icon = "🎮" +protocol = "websocket" + +[metadata] +url = "https://discord.com" +docs = "https://discord.com/developers/docs/intro" diff --git a/channels/discourse.toml b/channels/discourse.toml new file mode 100644 index 0000000..7eb9732 --- /dev/null +++ b/channels/discourse.toml @@ -0,0 +1,10 @@ +id = "discourse" +name = "Discourse" +description = "Discourse forum adapter for posting topics and replies via the Discourse API" +category = "developer" +icon = "💬" +protocol = "rest-api" + +[metadata] +url = "https://www.discourse.org" +docs = "https://docs.discourse.org" diff --git a/channels/email.toml b/channels/email.toml new file mode 100644 index 0000000..562c84a --- /dev/null +++ b/channels/email.toml @@ -0,0 +1,10 @@ +id = "email" +name = "Email" +description = "Email adapter for sending and receiving messages via SMTP and IMAP protocols" +category = "email" +icon = "📧" +protocol = "imap" + +[metadata] +url = "" +docs = "" diff --git a/channels/feishu.toml b/channels/feishu.toml new file mode 100644 index 0000000..7b757e6 --- /dev/null +++ b/channels/feishu.toml @@ -0,0 +1,10 @@ +id = "feishu" +name = "Feishu" +description = "Feishu (Lark) bot adapter for messaging within the Feishu collaboration platform" +category = "enterprise" +icon = "🐦" +protocol = "webhook" + +[metadata] +url = "https://www.feishu.cn" +docs = "https://open.feishu.cn/document/" diff --git a/channels/flock.toml b/channels/flock.toml new file mode 100644 index 0000000..6a0a78d --- /dev/null +++ b/channels/flock.toml @@ -0,0 +1,10 @@ +id = "flock" +name = "Flock" +description = "Flock bot adapter for team messaging and notifications in Flock workspaces" +category = "enterprise" +icon = "🐥" +protocol = "webhook" + +[metadata] +url = "https://www.flock.com" +docs = "https://docs.flock.com" diff --git a/channels/gitter.toml b/channels/gitter.toml new file mode 100644 index 0000000..8f847d3 --- /dev/null +++ b/channels/gitter.toml @@ -0,0 +1,10 @@ +id = "gitter" +name = "Gitter" +description = "Gitter adapter for developer chat rooms linked to GitHub repositories" +category = "developer" +icon = "💻" +protocol = "rest-api" + +[metadata] +url = "https://gitter.im" +docs = "https://developer.gitter.im/docs/" diff --git a/channels/google_chat.toml b/channels/google_chat.toml new file mode 100644 index 0000000..ca0c115 --- /dev/null +++ b/channels/google_chat.toml @@ -0,0 +1,10 @@ +id = "google_chat" +name = "Google Chat" +description = "Google Chat adapter for sending messages and cards to Google Workspace conversations" +category = "enterprise" +icon = "💚" +protocol = "webhook" + +[metadata] +url = "https://chat.google.com" +docs = "https://developers.google.com/workspace/chat/api/reference/rest" diff --git a/channels/gotify.toml b/channels/gotify.toml new file mode 100644 index 0000000..087ba86 --- /dev/null +++ b/channels/gotify.toml @@ -0,0 +1,10 @@ +id = "gotify" +name = "Gotify" +description = "Gotify adapter for sending push notifications to a self-hosted Gotify server" +category = "iot" +icon = "🔊" +protocol = "rest-api" + +[metadata] +url = "https://gotify.net" +docs = "https://gotify.net/docs/" diff --git a/channels/guilded.toml b/channels/guilded.toml new file mode 100644 index 0000000..573d697 --- /dev/null +++ b/channels/guilded.toml @@ -0,0 +1,10 @@ +id = "guilded" +name = "Guilded" +description = "Guilded bot adapter for messaging in Guilded servers and channels" +category = "enterprise" +icon = "🏰" +protocol = "websocket" + +[metadata] +url = "https://www.guilded.gg" +docs = "https://www.guilded.gg/docs/api/" diff --git a/channels/irc.toml b/channels/irc.toml new file mode 100644 index 0000000..a91b848 --- /dev/null +++ b/channels/irc.toml @@ -0,0 +1,10 @@ +id = "irc" +name = "IRC" +description = "IRC adapter for connecting to Internet Relay Chat networks and channels" +category = "messaging" +icon = "📡" +protocol = "irc" + +[metadata] +url = "" +docs = "https://datatracker.ietf.org/doc/html/rfc2812" diff --git a/channels/keybase.toml b/channels/keybase.toml new file mode 100644 index 0000000..980b888 --- /dev/null +++ b/channels/keybase.toml @@ -0,0 +1,10 @@ +id = "keybase" +name = "Keybase" +description = "Keybase adapter for encrypted messaging via the Keybase chat API" +category = "messaging" +icon = "🔐" +protocol = "rest-api" + +[metadata] +url = "https://keybase.io" +docs = "https://keybase.io/docs/api/" diff --git a/channels/line.toml b/channels/line.toml new file mode 100644 index 0000000..40c564f --- /dev/null +++ b/channels/line.toml @@ -0,0 +1,10 @@ +id = "line" +name = "LINE" +description = "LINE Messaging API adapter for sending and receiving messages on the LINE platform" +category = "messaging" +icon = "🟢" +protocol = "webhook" + +[metadata] +url = "https://line.me" +docs = "https://developers.line.biz/en/docs/messaging-api/" diff --git a/channels/linkedin.toml b/channels/linkedin.toml new file mode 100644 index 0000000..e5507ff --- /dev/null +++ b/channels/linkedin.toml @@ -0,0 +1,10 @@ +id = "linkedin" +name = "LinkedIn" +description = "LinkedIn adapter for posting updates and messages via the LinkedIn API" +category = "social" +icon = "💼" +protocol = "rest-api" + +[metadata] +url = "https://www.linkedin.com" +docs = "https://learn.microsoft.com/en-us/linkedin/" diff --git a/channels/mastodon.toml b/channels/mastodon.toml new file mode 100644 index 0000000..df5c655 --- /dev/null +++ b/channels/mastodon.toml @@ -0,0 +1,10 @@ +id = "mastodon" +name = "Mastodon" +description = "Mastodon adapter for posting toots and reading timelines on Mastodon instances" +category = "social" +icon = "🐘" +protocol = "rest-api" + +[metadata] +url = "https://joinmastodon.org" +docs = "https://docs.joinmastodon.org/api/" diff --git a/channels/matrix.toml b/channels/matrix.toml new file mode 100644 index 0000000..a3646f0 --- /dev/null +++ b/channels/matrix.toml @@ -0,0 +1,10 @@ +id = "matrix" +name = "Matrix" +description = "Matrix adapter for decentralized messaging via the Matrix client-server API" +category = "messaging" +icon = "🟩" +protocol = "matrix" + +[metadata] +url = "https://matrix.org" +docs = "https://spec.matrix.org/latest/client-server-api/" diff --git a/channels/mattermost.toml b/channels/mattermost.toml new file mode 100644 index 0000000..03fe97c --- /dev/null +++ b/channels/mattermost.toml @@ -0,0 +1,10 @@ +id = "mattermost" +name = "Mattermost" +description = "Mattermost adapter for team messaging and notifications in Mattermost workspaces" +category = "enterprise" +icon = "🔵" +protocol = "websocket" + +[metadata] +url = "https://mattermost.com" +docs = "https://api.mattermost.com" diff --git a/channels/messenger.toml b/channels/messenger.toml new file mode 100644 index 0000000..d383553 --- /dev/null +++ b/channels/messenger.toml @@ -0,0 +1,10 @@ +id = "messenger" +name = "Messenger" +description = "Facebook Messenger adapter for sending and receiving messages via the Messenger Platform" +category = "messaging" +icon = "💬" +protocol = "webhook" + +[metadata] +url = "https://www.messenger.com" +docs = "https://developers.facebook.com/docs/messenger-platform/" diff --git a/channels/mqtt.toml b/channels/mqtt.toml new file mode 100644 index 0000000..ed11b93 --- /dev/null +++ b/channels/mqtt.toml @@ -0,0 +1,10 @@ +id = "mqtt" +name = "MQTT" +description = "MQTT adapter for publishing and subscribing to messages on MQTT brokers" +category = "iot" +icon = "📶" +protocol = "mqtt" + +[metadata] +url = "https://mqtt.org" +docs = "https://mqtt.org/mqtt-specification/" diff --git a/channels/mumble.toml b/channels/mumble.toml new file mode 100644 index 0000000..278dd14 --- /dev/null +++ b/channels/mumble.toml @@ -0,0 +1,10 @@ +id = "mumble" +name = "Mumble" +description = "Mumble adapter for text messaging in Mumble voice communication servers" +category = "iot" +icon = "🎙️" +protocol = "websocket" + +[metadata] +url = "https://www.mumble.info" +docs = "https://wiki.mumble.info/wiki/Protocol" diff --git a/channels/nextcloud.toml b/channels/nextcloud.toml new file mode 100644 index 0000000..5c18b4d --- /dev/null +++ b/channels/nextcloud.toml @@ -0,0 +1,10 @@ +id = "nextcloud" +name = "Nextcloud" +description = "Nextcloud Talk adapter for messaging within self-hosted Nextcloud instances" +category = "iot" +icon = "☁️" +protocol = "rest-api" + +[metadata] +url = "https://nextcloud.com" +docs = "https://nextcloud-talk.readthedocs.io/en/latest/" diff --git a/channels/nostr.toml b/channels/nostr.toml new file mode 100644 index 0000000..0369ce5 --- /dev/null +++ b/channels/nostr.toml @@ -0,0 +1,10 @@ +id = "nostr" +name = "Nostr" +description = "Nostr adapter for publishing and reading events on the Nostr decentralized protocol" +category = "messaging" +icon = "🟣" +protocol = "websocket" + +[metadata] +url = "https://nostr.com" +docs = "https://github.com/nostr-protocol/nips" diff --git a/channels/ntfy.toml b/channels/ntfy.toml new file mode 100644 index 0000000..d469570 --- /dev/null +++ b/channels/ntfy.toml @@ -0,0 +1,10 @@ +id = "ntfy" +name = "ntfy" +description = "ntfy adapter for sending push notifications via the ntfy pub-sub service" +category = "iot" +icon = "🔔" +protocol = "rest-api" + +[metadata] +url = "https://ntfy.sh" +docs = "https://docs.ntfy.sh" diff --git a/channels/pumble.toml b/channels/pumble.toml new file mode 100644 index 0000000..5d1e0ca --- /dev/null +++ b/channels/pumble.toml @@ -0,0 +1,10 @@ +id = "pumble" +name = "Pumble" +description = "Pumble adapter for team messaging and notifications in Pumble workspaces" +category = "enterprise" +icon = "🐝" +protocol = "webhook" + +[metadata] +url = "https://pumble.com" +docs = "https://pumble.com/help" diff --git a/channels/qq.toml b/channels/qq.toml new file mode 100644 index 0000000..2bb0ea5 --- /dev/null +++ b/channels/qq.toml @@ -0,0 +1,10 @@ +id = "qq" +name = "QQ" +description = "QQ bot adapter for messaging within Tencent QQ groups and channels" +category = "messaging" +icon = "🐧" +protocol = "websocket" + +[metadata] +url = "https://im.qq.com" +docs = "https://bot.q.qq.com/wiki/" diff --git a/channels/reddit.toml b/channels/reddit.toml new file mode 100644 index 0000000..1f33bc2 --- /dev/null +++ b/channels/reddit.toml @@ -0,0 +1,10 @@ +id = "reddit" +name = "Reddit" +description = "Reddit adapter for posting and reading content via the Reddit API" +category = "social" +icon = "🤖" +protocol = "rest-api" + +[metadata] +url = "https://www.reddit.com" +docs = "https://www.reddit.com/dev/api/" diff --git a/channels/revolt.toml b/channels/revolt.toml new file mode 100644 index 0000000..287a320 --- /dev/null +++ b/channels/revolt.toml @@ -0,0 +1,10 @@ +id = "revolt" +name = "Revolt" +description = "Revolt adapter for messaging in the open-source Revolt chat platform" +category = "developer" +icon = "🔴" +protocol = "websocket" + +[metadata] +url = "https://revolt.chat" +docs = "https://developers.revolt.chat/api/" diff --git a/channels/rocketchat.toml b/channels/rocketchat.toml new file mode 100644 index 0000000..912b4fe --- /dev/null +++ b/channels/rocketchat.toml @@ -0,0 +1,10 @@ +id = "rocketchat" +name = "Rocket.Chat" +description = "Rocket.Chat adapter for messaging in self-hosted Rocket.Chat instances" +category = "enterprise" +icon = "🚀" +protocol = "rest-api" + +[metadata] +url = "https://www.rocket.chat" +docs = "https://developer.rocket.chat/reference/api" diff --git a/channels/signal.toml b/channels/signal.toml new file mode 100644 index 0000000..28b3df9 --- /dev/null +++ b/channels/signal.toml @@ -0,0 +1,10 @@ +id = "signal" +name = "Signal" +description = "Signal adapter for secure end-to-end encrypted messaging via Signal CLI" +category = "messaging" +icon = "🔒" +protocol = "rest-api" + +[metadata] +url = "https://signal.org" +docs = "https://github.com/AsamK/signal-cli" diff --git a/channels/slack.toml b/channels/slack.toml new file mode 100644 index 0000000..b37f314 --- /dev/null +++ b/channels/slack.toml @@ -0,0 +1,10 @@ +id = "slack" +name = "Slack" +description = "Slack bot adapter for sending and receiving messages in Slack workspaces" +category = "enterprise" +icon = "💜" +protocol = "websocket" + +[metadata] +url = "https://slack.com" +docs = "https://api.slack.com/docs" diff --git a/channels/teams.toml b/channels/teams.toml new file mode 100644 index 0000000..0a37d3f --- /dev/null +++ b/channels/teams.toml @@ -0,0 +1,10 @@ +id = "teams" +name = "Microsoft Teams" +description = "Microsoft Teams adapter for messaging and notifications in Teams channels" +category = "enterprise" +icon = "🟦" +protocol = "webhook" + +[metadata] +url = "https://www.microsoft.com/en-us/microsoft-teams" +docs = "https://learn.microsoft.com/en-us/microsoftteams/platform/" diff --git a/channels/telegram.toml b/channels/telegram.toml new file mode 100644 index 0000000..5289318 --- /dev/null +++ b/channels/telegram.toml @@ -0,0 +1,10 @@ +id = "telegram" +name = "Telegram" +description = "Telegram Bot API adapter for sending and receiving messages" +category = "messaging" +icon = "📱" +protocol = "bot-api" + +[metadata] +url = "https://telegram.org" +docs = "https://core.telegram.org/bots/api" diff --git a/channels/threema.toml b/channels/threema.toml new file mode 100644 index 0000000..c54255b --- /dev/null +++ b/channels/threema.toml @@ -0,0 +1,10 @@ +id = "threema" +name = "Threema" +description = "Threema Gateway adapter for secure messaging via the Threema platform" +category = "messaging" +icon = "🔏" +protocol = "rest-api" + +[metadata] +url = "https://threema.ch" +docs = "https://gateway.threema.ch/en/developer/api" diff --git a/channels/twist.toml b/channels/twist.toml new file mode 100644 index 0000000..c658321 --- /dev/null +++ b/channels/twist.toml @@ -0,0 +1,10 @@ +id = "twist" +name = "Twist" +description = "Twist adapter for async team communication in Twist workspaces" +category = "enterprise" +icon = "🔀" +protocol = "rest-api" + +[metadata] +url = "https://twist.com" +docs = "https://developer.twist.com/v3/" diff --git a/channels/twitch.toml b/channels/twitch.toml new file mode 100644 index 0000000..e426b4c --- /dev/null +++ b/channels/twitch.toml @@ -0,0 +1,10 @@ +id = "twitch" +name = "Twitch" +description = "Twitch adapter for reading and sending messages in Twitch stream chats" +category = "social" +icon = "🎮" +protocol = "irc" + +[metadata] +url = "https://www.twitch.tv" +docs = "https://dev.twitch.tv/docs/irc/" diff --git a/channels/viber.toml b/channels/viber.toml new file mode 100644 index 0000000..f1a0c84 --- /dev/null +++ b/channels/viber.toml @@ -0,0 +1,10 @@ +id = "viber" +name = "Viber" +description = "Viber bot adapter for sending and receiving messages via the Viber Bot API" +category = "messaging" +icon = "💜" +protocol = "webhook" + +[metadata] +url = "https://www.viber.com" +docs = "https://developers.viber.com/docs/api/" diff --git a/channels/webex.toml b/channels/webex.toml new file mode 100644 index 0000000..266304a --- /dev/null +++ b/channels/webex.toml @@ -0,0 +1,10 @@ +id = "webex" +name = "Webex" +description = "Cisco Webex adapter for messaging and notifications in Webex spaces" +category = "enterprise" +icon = "🌐" +protocol = "webhook" + +[metadata] +url = "https://www.webex.com" +docs = "https://developer.webex.com/docs/api/getting-started" diff --git a/channels/webhook.toml b/channels/webhook.toml new file mode 100644 index 0000000..4d512c7 --- /dev/null +++ b/channels/webhook.toml @@ -0,0 +1,10 @@ +id = "webhook" +name = "Webhook" +description = "Generic webhook adapter for sending and receiving messages via HTTP callbacks" +category = "developer" +icon = "🔗" +protocol = "webhook" + +[metadata] +url = "" +docs = "" diff --git a/channels/wechat.toml b/channels/wechat.toml new file mode 100644 index 0000000..ae0dfd6 --- /dev/null +++ b/channels/wechat.toml @@ -0,0 +1,10 @@ +id = "wechat" +name = "WeChat" +description = "WeChat Official Account adapter for messaging on the WeChat platform" +category = "messaging" +icon = "💚" +protocol = "rest-api" + +[metadata] +url = "https://www.wechat.com" +docs = "https://developers.weixin.qq.com/doc/offiaccount/en/Getting_Started/Overview.html" diff --git a/channels/wecom.toml b/channels/wecom.toml new file mode 100644 index 0000000..671e209 --- /dev/null +++ b/channels/wecom.toml @@ -0,0 +1,10 @@ +id = "wecom" +name = "WeCom" +description = "WeCom (WeChat Work) adapter for enterprise messaging within WeCom organizations" +category = "enterprise" +icon = "🏢" +protocol = "webhook" + +[metadata] +url = "https://work.weixin.qq.com" +docs = "https://developer.work.weixin.qq.com/document/" diff --git a/channels/whatsapp.toml b/channels/whatsapp.toml new file mode 100644 index 0000000..e4a1baf --- /dev/null +++ b/channels/whatsapp.toml @@ -0,0 +1,10 @@ +id = "whatsapp" +name = "WhatsApp" +description = "WhatsApp Business API adapter for sending and receiving messages on WhatsApp" +category = "messaging" +icon = "📱" +protocol = "rest-api" + +[metadata] +url = "https://www.whatsapp.com" +docs = "https://developers.facebook.com/docs/whatsapp/cloud-api/" diff --git a/channels/xmpp.toml b/channels/xmpp.toml new file mode 100644 index 0000000..f4641b6 --- /dev/null +++ b/channels/xmpp.toml @@ -0,0 +1,10 @@ +id = "xmpp" +name = "XMPP" +description = "XMPP adapter for messaging via the Extensible Messaging and Presence Protocol" +category = "messaging" +icon = "📨" +protocol = "xmpp" + +[metadata] +url = "https://xmpp.org" +docs = "https://xmpp.org/extensions/" diff --git a/channels/zulip.toml b/channels/zulip.toml new file mode 100644 index 0000000..0cffead --- /dev/null +++ b/channels/zulip.toml @@ -0,0 +1,10 @@ +id = "zulip" +name = "Zulip" +description = "Zulip adapter for topic-based team messaging in Zulip organizations" +category = "enterprise" +icon = "💧" +protocol = "rest-api" + +[metadata] +url = "https://zulip.com" +docs = "https://zulip.com/api/" diff --git a/templates/channel.toml b/templates/channel.toml new file mode 100644 index 0000000..aa56858 --- /dev/null +++ b/templates/channel.toml @@ -0,0 +1,10 @@ +id = "" +name = "" +description = "" +category = "" # one of: messaging, social, enterprise, developer, iot, email +icon = "" +protocol = "" # one of: bot-api, webhook, websocket, rest-api, imap, xmpp, irc, mqtt, matrix + +[metadata] +url = "" +docs = ""