{ "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.22.1", "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.", "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.", "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": {} } } ] } } }, "propertiesSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "Telegram Sink", "description": "Send a message to a Telegram chat by using your Telegram bot as sender.", "required": [ "authorizationToken" ], "properties": { "authorizationToken": { "type": "string", "title": "Token", "description": "The token to access your bot on Telegram. You you can obtain it from the Telegram @botfather.", "format": "password" }, "chatId": { "type": "string", "title": "Chat ID", "description": "The Chat ID to where you want to send messages by default." } } } }