feat: add channels directory with 44 channel adapter definitions (#21)
* feat: add channels directory with 44 channel adapter definitions Add TOML definitions for all 44 channel adapters supported by LibreFang, matching the adapters in librefang-channels crate source code. Each channel file includes: id, name, description, category, icon, protocol, and metadata (url, docs). Categories: messaging, social, enterprise, developer, iot, email. Also adds channels template at templates/channel.toml. * fix: format templates/channel.toml with taplo
This commit is contained in:
46 files changed
+457
No files matched your search
@@ -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.
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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 = ""
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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"
|
||||
@@ -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 = ""
|
||||
@@ -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"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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/"
|
||||
@@ -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 = ""
|
||||
Reference in new issue
Block a user