I saw someone having the same problem which hadn’t been solved here
Since it took me a moment to get this working, here’s how, in javascript. (blockly doesn’t support it)
var image, i;
var things = Java.type('org.openhab.core.model.script.actions.Things');
image = itemRegistry.getItem('myItemName').getState().toFullString();
var i = '1234567890';
things.getActions('telegram', 'telegram:telegramBot:myTgBot').sendTelegramPhoto(i, image, 'text');
1 Like
i have edited the blockly-library to enable this.
here’s the code
uid: telegram_with_chatID
tags:
- marketplace:131112
props:
parameters: []
parameterGroups: []
timestamp: Dec 24, 2022, 12:29:23 AM
component: BlockLibrary
config:
name: Telegram with ChatID
slots:
blocks:
- component: BlockType
config:
args0:
- name: MESSAGE
type: input_value
- name: BOT
type: input_value
- name: CHAT_ID
type: input_value
colour: "#2ea5d8"
helpUrl: ""
inputsInline: true
lastDummyAlign0: right
message0: send on Telegram %1 from bot %2 with chat id %3
nextStatement: ""
previousStatement: ""
tooltip: ""
type: message
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegram({{input:CHAT_ID}}, {{input:MESSAGE}});
toolbox:
- component: PresetInput
config:
fields:
TEXT: What's up?
name: MESSAGE
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
- component: BlockType
config:
args0:
- align: right
name: ATTACHMENT_TYPE
options:
- - photo
- Photo
- - animation
- Animation
- - video
- Video
type: field_dropdown
- align: right
name: URL
type: input_value
- align: right
name: CAPTION
type: input_value
- align: right
name: BOT
type: input_value
- align: right
name: CHAT_ID
type: input_value
colour: "#2ea5d8"
helpUrl: ""
inputsInline: false
lastDummyAlign0: right
lastDummyAlignRight0: true
message0: send %1 on Telegram %2 with caption %3 from bot %4 with chat id %5
nextStatement: ""
previousStatement: ""
tooltip: ""
type: message_attachment
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegram({{input:CHAT_ID}}, {{field:ATTACHMENT_TYPE}}({{input:URL}}, {{input:CAPTION}}));
toolbox:
- component: PresetInput
config:
fields:
TEXT: URL or filename
name: URL
shadow: true
type: text
- component: PresetInput
config:
fields:
TEXT: caption
name: CAPTION
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
- component: BlockType
config:
args0:
- align: right
name: URL
type: input_value
- align: right
name: USERNAME
type: input_value
- align: right
name: PASSWORD
type: input_value
- align: right
name: CAPTION
type: input_value
- align: right
name: BOT
type: input_value
- align: right
name: CHAT_ID
type: input_value
colour: "#2ea5d8"
helpUrl: ""
inputsInline: false
lastDummyAlign0: right
lastDummyAlignRight0: true
message0: send photo on Telegram %1 username %2 password %3 with caption %4 from bot %5 with chat id %6
nextStatement: ""
previousStatement: ""
tooltip: ""
type: message_attachment_photo_with_creds
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegramPhoto({{input:CHAT_ID}}, {{input:URL}}, {{input:CAPTION}}, {{input:USERNAME}}, {{input:PASSWORD}});
toolbox:
- component: PresetInput
config:
fields:
TEXT: URL or filename
name: URL
shadow: true
type: text
- component: PresetInput
config:
fields:
TEXT: caption
name: CAPTION
shadow: true
type: text
- component: PresetInput
config:
fields:
TEXT: user
name: USERNAME
shadow: true
type: text
- component: PresetInput
config:
fields:
TEXT: pass
name: PASSWORD
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
- component: Separator
config:
gap: 48
- component: BlockType
config:
args0:
- align: right
name: MESSAGE
type: input_value
- align: right
name: BOT
type: input_value
- align: right
name: REPLY_ID
type: input_value
- align: right
name: CHAT_ID
type: input_value
- align: right
name: BUTTONS
type: field_input
colour: "#2ea5d8"
helpUrl: ""
inputsInline: false
lastDummyAlign0: right
lastDummyAlignRight0: true
message0: ask on Telegram %1 from bot %2 use reply id %3 with chat id %4 with buttons %5
nextStatement: ""
previousStatement: ""
tooltip: ""
type: query
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegramQuery({{input:CHAT_ID}}, {{input:MESSAGE}}, {{input:REPLY_ID}}, {{field:BUTTONS}});
toolbox:
- component: PresetInput
config:
fields:
TEXT: Turn off the lights?
name: MESSAGE
shadow: true
type: text
- component: PresetField
config:
name: BUTTONS
value: "'Yes', 'No'"
- component: PresetInput
config:
fields:
TEXT: replyId
name: REPLY_ID
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
- component: BlockType
config:
args0:
- align: right
name: MESSAGE
type: input_value
- align: right
name: REPLY_ID
type: input_value
- align: right
name: BOT
type: input_value
- align: right
name: CHAT_ID
type: input_value
colour: "#2ea5d8"
helpUrl: ""
inputsInline: false
lastDummyAlign0: right
lastDummyAlign1: right
lastDummyAlignRight0: true
message0: reply on Telegram %1 to reply id %2 from bot %3 with chat id %4
nextStatement: ""
previousStatement: ""
tooltip: ""
type: answer
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegramAnswer({{input:CHAT_ID}}, {{input:REPLY_ID}}, {{input:MESSAGE}});
toolbox:
- component: PresetInput
config:
fields:
TEXT: Ok!
name: MESSAGE
shadow: true
type: text
- component: PresetInput
config:
fields:
TEXT: replyId
name: REPLY_ID
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
- component: BlockType
config:
args0:
- align: right
name: ITEM
type: input_value
- align: right
name: CAPTION
type: input_value
- align: right
name: BOT
type: input_value
- align: right
name: CHAT_ID
type: input_value
colour: "#2ea5d8"
helpUrl: ""
inputsInline: false
lastDummyAlign0: right
lastDummyAlignRight0: true
message0: send image-item on Telegram %1 with caption %2 from bot %3 with chat id %4
nextStatement: ""
previousStatement: ""
tooltip: ""
type: message_attachment_item
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegramPhoto({{input:CHAT_ID}}, itemRegistry.getItem({{input:ITEM}}).getState().toFullString(), {{input:CAPTION}});
toolbox:
- component: PresetInput
config:
fields:
TEXT: Item containing image
name: ITEM
shadow: true
type: oh_item
- component: PresetInput
config:
fields:
TEXT: caption
name: CAPTION
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
utilities:
- component: UtilityJavaType
config:
javaClass: org.openhab.core.model.script.actions.Things
name: things
1 Like
system
(system)
Closed
February 3, 2023, 3:46pm
3
This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.