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