generated from camel.apache.org/kamelet
Add kamelet definition: telegram-sink
This commit is contained in:
parent
0dbf66786c
commit
aa0adce0f6
112
kamelet.yaml
Normal file
112
kamelet.yaml
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
apiVersion: camel.apache.org/v1
|
||||||
|
kind: Kamelet
|
||||||
|
metadata:
|
||||||
|
name: telegram-sink
|
||||||
|
annotations:
|
||||||
|
camel.apache.org/kamelet.support.level: "Stable"
|
||||||
|
camel.apache.org/catalog.version: "4.10.2"
|
||||||
|
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDAgMjQwIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIuNjY3IiB4Mj0iLjQxNyIgeTE9Ii4xNjciIHkyPSIuNzUiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzM3YWVlMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzFlOTZjOCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iLjY2IiB4Mj0iLjg1MSIgeTE9Ii40MzciIHkyPSIuODAyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNlZmY3ZmMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxMjAiIGN5PSIxMjAiIHI9IjEyMCIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGZpbGw9IiNjOGRhZWEiIGQ9Ik05OCAxNzVjLTMuODg4IDAtMy4yMjctMS40NjgtNC41NjgtNS4xN0w4MiAxMzIuMjA3IDE3MCA4MCIvPjxwYXRoIGZpbGw9IiNhOWM5ZGQiIGQ9Ik05OCAxNzVjMyAwIDQuMzI1LTEuMzcyIDYtM2wxNi0xNS41NTgtMTkuOTU4LTEyLjAzNSIvPjxwYXRoIGZpbGw9InVybCgjYikiIGQ9Ik0xMDAuMDQgMTQ0LjQxbDQ4LjM2IDM1LjcyOWM1LjUxOSAzLjA0NSA5LjUwMSAxLjQ2OCAxMC44NzYtNS4xMjNsMTkuNjg1LTkyLjc2M2MyLjAxNS04LjA4LTMuMDgtMTEuNzQ2LTguMzYtOS4zNDlsLTExNS41OSA0NC41NzFjLTcuODkgMy4xNjUtNy44NDMgNy41NjctMS40MzggOS41MjhsMjkuNjYzIDkuMjU5IDY4LjY3My00My4zMjVjMy4yNDItMS45NjYgNi4yMTgtLjkxIDMuNzc2IDEuMjU4Ii8+PC9zdmc+"
|
||||||
|
camel.apache.org/provider: "Apache Software Foundation"
|
||||||
|
camel.apache.org/kamelet.group: "Telegram"
|
||||||
|
camel.apache.org/kamelet.namespace: "Social"
|
||||||
|
labels:
|
||||||
|
camel.apache.org/kamelet.type: "sink"
|
||||||
|
spec:
|
||||||
|
definition:
|
||||||
|
title: "Telegram Sink"
|
||||||
|
description: |-
|
||||||
|
Send a message to a Telegram chat by using your Telegram bot as sender.
|
||||||
|
|
||||||
|
To create a bot, use your Telegram app to contact the @botfather account.
|
||||||
|
|
||||||
|
This sink supports the following message types:
|
||||||
|
|
||||||
|
- Standard text messages
|
||||||
|
- PNG images (`Content-Type` must be set to `image/png`)
|
||||||
|
- JPEG images (`Content-Type` must be set to `image/jpeg`)
|
||||||
|
|
||||||
|
This sink also supports the following message headers:
|
||||||
|
|
||||||
|
- `text` / `ce-text`: when sending an image, the image caption
|
||||||
|
- `chat-id` / `ce-chatid`: overrides the default chat where messages are sent to
|
||||||
|
required:
|
||||||
|
- authorizationToken
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
authorizationToken:
|
||||||
|
title: Token
|
||||||
|
description: "The token to access your bot on Telegram. You you can obtain it from the Telegram @botfather."
|
||||||
|
type: string
|
||||||
|
format: password
|
||||||
|
x-descriptors:
|
||||||
|
- urn:camel:group:credentials
|
||||||
|
chatId:
|
||||||
|
title: Chat ID
|
||||||
|
description: |-
|
||||||
|
The Chat ID to where you want to send messages by default.
|
||||||
|
|
||||||
|
Whilst the Chat ID is not a required Configuration Option it must be provided for every message; either as a Configuration Option or a `chat-id` / `ce-chatid` header.
|
||||||
|
type: string
|
||||||
|
types:
|
||||||
|
out:
|
||||||
|
mediaType: application/json
|
||||||
|
dependencies:
|
||||||
|
- "camel:core"
|
||||||
|
- "camel:jackson"
|
||||||
|
- "camel:kamelet"
|
||||||
|
- "camel:telegram"
|
||||||
|
template:
|
||||||
|
from:
|
||||||
|
uri: "kamelet:source"
|
||||||
|
steps:
|
||||||
|
- choice:
|
||||||
|
when:
|
||||||
|
- simple: "${header[Content-Type]} == 'image/png'"
|
||||||
|
steps:
|
||||||
|
- convertBodyTo:
|
||||||
|
type: "byte[]"
|
||||||
|
- setHeader:
|
||||||
|
name: CamelTelegramMediaType
|
||||||
|
constant: PHOTO_PNG
|
||||||
|
- simple: "${header[Content-Type]} == 'image/jpeg'"
|
||||||
|
steps:
|
||||||
|
- convertBodyTo:
|
||||||
|
type: "byte[]"
|
||||||
|
- setHeader:
|
||||||
|
name: CamelTelegramMediaType
|
||||||
|
constant: PHOTO_JPG
|
||||||
|
otherwise:
|
||||||
|
steps:
|
||||||
|
- convertBodyTo:
|
||||||
|
type: "java.lang.String"
|
||||||
|
- choice:
|
||||||
|
when:
|
||||||
|
- simple: "${header[text]}"
|
||||||
|
steps:
|
||||||
|
- setHeader:
|
||||||
|
name: CamelTelegramMediaTitleCaption
|
||||||
|
simple: "${header[text]}"
|
||||||
|
- simple: "${header[ce-text]}"
|
||||||
|
steps:
|
||||||
|
- setHeader:
|
||||||
|
name: CamelTelegramMediaTitleCaption
|
||||||
|
simple: "${header[ce-text]}"
|
||||||
|
- choice:
|
||||||
|
when:
|
||||||
|
- simple: "${header[chat-id]}"
|
||||||
|
steps:
|
||||||
|
- setHeader:
|
||||||
|
name: CamelTelegramChatId
|
||||||
|
simple: "${header[chat-id]}"
|
||||||
|
- simple: "${header[ce-chatid]}"
|
||||||
|
steps:
|
||||||
|
- setHeader:
|
||||||
|
name: CamelTelegramChatId
|
||||||
|
simple: "${header[ce-chatid]}"
|
||||||
|
- to:
|
||||||
|
uri: "telegram:bots"
|
||||||
|
parameters:
|
||||||
|
authorizationToken: "{{authorizationToken}}"
|
||||||
|
chatId: "{{?chatId}}"
|
||||||
|
- marshal:
|
||||||
|
json: {}
|
||||||
Loading…
Reference in New Issue
Block a user