电报机器人


使用移动设备或桌面设备上的电报发送和接收到家庭助理/从您的家庭助理接收消息或命令。必威是什么必威体育存款

此集成创建通知服务以发送或编辑先前发送的消息电报机器人帐户配置了轮询平台或使用webhooks一个,并在接收消息时触发事件。

如果您不需要接收消息,则可以使用播送平台。

通知服务

可用服务:发信息,,,,发送照片,,,,send_video,,,,send_animation,,,,send_voice,,,,send_sticker,,,,send_document,,,,send_location,,,,edit_message,,,,编辑标题,,,,edit_replymarkup,,,,答案_CALLBACK_QUERY,,,,delete_message离开_chat

服务telegram_bot.send_message

发送通知。

服务数据属性 可选的 描述
信息 通知的消息主体。
标题 是的 您的通知的可选标题。将以“%title \ n%消息”组成。
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
parse_mode 是的 消息文本的解析器:markdownv2,,,,html或者降价
disable_notification 是的 对/错,以无声地发送消息。iOS用户和Web用户将不会收到通知,Android用户将收到没有声音的通知。默认为false。
disable_web_page_preview 是的 true/fals,用于消息中链接的禁用链接预览。
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.send_photo

发送一张照片。

服务数据属性 可选的 描述
URL 远程路径通往图像。
文件 图像的本地路径。
标题 是的 图像的标题。
用户名 是的 需要HTTP身份验证的URL的用户名。
密码 是的 需要HTTP身份验证的URL的密码(或携带者令牌)。
验证 是的 定义使用哪种身份验证方法。调成消化使用HTTP Digest身份验证或BEARER_TOKEN对于OAuth 2.0承载令牌身份验证。默认为基本的
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
parse_mode 是的 消息文本的解析器:markdownv2,,,,html或者降价
disable_notification 是的 对/错,以无声地发送消息。iOS用户和Web用户将不会收到通知,Android用户将收到没有声音的通知。默认为false。
verify_ssl 是的 True/fals,用于检查HTTPS URL服务器的SSL证书。默认为true。
暂停 是的 以秒为单位发送照片的超时。将有助于暂停错误(互联网连接差等)
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.send_video

发送视频。

服务数据属性 可选的 描述
URL 视频的远程路径。
文件 视频的本地路径。
标题 是的 视频的标题。
用户名 是的 需要HTTP身份验证的URL的用户名。
密码 是的 需要HTTP身份验证的URL的密码(或携带者令牌)。
验证 是的 定义使用哪种身份验证方法。调成消化使用HTTP Digest身份验证或BEARER_TOKEN对于OAuth 2.0承载令牌身份验证。默认为基本的
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
parse_mode 是的 消息文本的解析器:markdownv2,,,,html或者降价
disable_notification 是的 是/否,默默地发送消息。iOS用户和Web用户将不会收到通知。Android用户将收到没有声音的通知。默认为false。
verify_ssl 是的 True/fals,用于检查HTTPS URL服务器的SSL证书。默认为true。
暂停 是的 以秒为单位发送视频的超时。将有助于暂停错误(互联网连接差等)
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际

服务telegram_bot.send_animation

发送动画。

服务数据属性 可选的 描述
URL 远程路径或H.264/MPEG-4 AVC视频无声音。
文件 GIF或H.264/MPEG-4 AVC视频的本地路径无声音。
标题 是的 动画的标题。
用户名 是的 需要HTTP身份验证的URL的用户名。
密码 是的 需要HTTP身份验证的URL的密码(或携带者令牌)。
验证 是的 定义使用哪种身份验证方法。调成消化使用HTTP Digest身份验证或BEARER_TOKEN对于OAuth 2.0承载令牌身份验证。默认为基本的
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
parse_mode 是的 消息文本的解析器:markdownv2,,,,html或者降价
disable_notification 是的 是/否,默默地发送消息。iOS用户和Web用户将不会收到通知。Android用户将收到没有声音的通知。默认为false。
verify_ssl 是的 True/fals,用于检查HTTPS URL服务器的SSL证书。默认为true。
暂停 是的 以秒为单位发送视频的超时。将有助于暂停错误(互联网连接差等)
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.send_voice

发送语音消息。

服务数据属性 可选的 描述
URL 语音消息的远程路径。
文件 语音消息的本地路径。
标题 是的 语音消息的标题。
用户名 是的 需要HTTP身份验证的URL的用户名。
密码 是的 需要HTTP身份验证的URL的密码(或携带者令牌)。
验证 是的 定义使用哪种身份验证方法。调成消化使用HTTP Digest身份验证或BEARER_TOKEN对于OAuth 2.0承载令牌身份验证。默认为基本的
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
disable_notification 是的 是/否,默默地发送消息。iOS用户和Web用户将不会收到通知。Android用户将收到没有声音的通知。默认为false。
verify_ssl 是的 True/fals,用于检查HTTPS URL服务器的SSL证书。默认为true。
暂停 是的 以秒为单位发送声音的超时。将有助于暂停错误(互联网连接差等)
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.send_sticker

发送贴纸。

服务数据属性 可选的 描述
URL 远程路径到静态.webp或动画.tgs贴纸。
文件 静态的.webp或动画.tgs贴纸的本地路径。
Sticker_id 电报服务器上存在的贴纸的ID。可以通过向机器人发送贴纸并查询Telegram-API方法来找到IDgetupdates或使用@idstickerbot
用户名 是的 需要HTTP身份验证的URL的用户名。
密码 是的 需要HTTP身份验证的URL的密码(或携带者令牌)。
验证 是的 定义使用哪种身份验证方法。调成消化使用HTTP Digest身份验证或BEARER_TOKEN对于OAuth 2.0承载令牌身份验证。默认为基本的
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
disable_notification 是的 对/错,以无声地发送消息。iOS用户和Web用户将不会收到通知,Android用户将收到没有声音的通知。默认为false。
verify_ssl 是的 True/fals,用于检查HTTPS URL服务器的SSL证书。默认为true。
暂停 是的 以秒为单位发送照片的超时。将有助于暂停错误(互联网连接差等)
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.send_document

发送文件。

服务数据属性 可选的 描述
URL 文档的远程路径。
文件 文档的本地路径。
标题 是的 文档的标题。
用户名 是的 需要HTTP身份验证的URL的用户名。
密码 是的 需要HTTP身份验证的URL的密码(或携带者令牌)。
验证 是的 定义使用哪种身份验证方法。调成消化使用HTTP Digest身份验证或BEARER_TOKEN对于OAuth 2.0承载令牌身份验证。默认为基本的
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许的CHAT_ID。
parse_mode 是的 消息文本的解析器:markdownv2,,,,html或者降价
disable_notification 是的 对/错,以无声地发送消息。iOS用户和Web用户将不会收到通知,Android用户将收到没有声音的通知。默认为false。
verify_ssl 是的 True/fals,用于检查HTTPS URL服务器的SSL证书。默认为true。
暂停 是的 以秒为单位发送文档的超时。将有助于暂停错误(互联网连接差等)
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.send_location

发送位置。

服务数据属性 可选的 描述
纬度 发送的纬度。
经度 发送的经度。
目标 是的 一系列预授权的CHAT_ID或USER_IDS将通知发送到。默认为第一个允许chat_id
disable_notification 是的 对/错,以无声地发送消息。iOS用户和Web用户将不会收到通知,Android用户将收到没有声音的通知。默认为false。
键盘 是的 comma分隔的命令行列表,以制作自定义键盘。[]重置为没有自定义键盘。例子:[“/command1,/command2”,“/command3”]
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际
message_tag 是的 标签发送消息。在telegram_sent事件数据:````````

服务telegram_bot.edit_message

在对话中编辑先前发送的消息。

服务数据属性 可选的 描述
message_id 消息的ID要编辑。从按下按钮回答回调时,原始消息的ID在:{{trigger.event.data.message.message_id}}}。您可以使用“最后的”参考发送到的最后一条消息chat_id
chat_id chat_id在哪里编辑消息。
信息 通知的消息主体。
标题 是的 您的通知的可选标题。将以“%title \ n%消息”组成。
parse_mode 是的 消息文本的解析器:markdownv2,,,,html或者降价
disable_web_page_preview 是的 true/fals,用于消息中链接的禁用链接预览。
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际

服务telegram_bot.edit_caption

编辑先前发送的消息的标题。

服务数据属性 可选的 描述
message_id 消息的ID要编辑。从按下按钮回答回调时,原始消息的ID在:{{trigger.event.data.message.message_id}}}。您可以使用“最后的”参考发送到的最后一条消息chat_id
chat_id chat_id在哪里编辑标题。
标题 通知的消息主体。
disable_web_page_preview 是的 true/fals,用于消息中链接的禁用链接预览。
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际

服务telegram_bot.edit_replymarkup

编辑先前发送消息的内联键盘。

服务数据属性 可选的 描述
message_id 消息的ID要编辑。从按下按钮回答回调时,原始消息的ID在:{{trigger.event.data.message.message_id}}}。您可以使用“最后的”参考发送到的最后一条消息chat_id
chat_id chat_id在哪里编辑回复_markup。
disable_web_page_preview 是的 true/fals,用于消息中链接的禁用链接预览。
inline_keyboard 是的 comma分隔的命令行列表,以制作带有带有关联回调数据的按钮的自定义内联键盘。例子:[“/button1,/button2”,“/button3”]或者实际

服务telegram_bot.answer_callback_query

响应通过单击在线键盘按钮上的回调查询。答案将显示给用户作为聊天屏幕顶部或警报的通知。

服务数据属性 可选的 描述
信息 通知的未格式文本消息主体。
callback_query_id 回调响应的唯一ID。在里面telegram_callback事件数据:{{trigger.event.data.id}}
show_alert 是的 正确/错误显示永久通知。默认为false。

服务telegram_bot.delete_message

在对话中删除先前发送的消息。

服务数据属性 可选的 描述
message_id 删除消息的ID。从按下按钮回答回调时,原始消息的ID在:{{trigger.event.data.message.message_id}}}。您可以使用“最后的”参考发送到的最后一条消息chat_id
chat_id chat_id在哪里删除消息。

服务telegram_bot.leave_chat

从添加的聊天组中删除机器人。

服务数据属性 可选的 描述
chat_id 从哪里删除机器人的chat_id。

电报通知平台

电报通知平台需要telegram_bot与之合作的集成,旨在生成定制的快捷方式(notify.username)将通知(消息,照片,文档和位置)发送到特定chat_id使用旧语法,允许向后兼容。数据属性parse_mode,,,,disable_notificationmessage_tag也得到支持。

现在所需的YAML配置还原为:

通知-平台电报姓名notifier_namechat_idUSER_CHAT_ID

事件触发

命令看起来像/命令或者/其他有一些args的命令

当家庭助理收到时,它将解雇必威是什么telegram_command活动巴士的活动与以下event_data

命令/命令”args<任何其他文本下列的命令>“从_first<首先姓名发件人>”来自_last<最后姓名发件人>”用户身份发件人>”chat_id<起源聊天ID>“聊天<聊天信息>”

任何其他消息都不开头/将作为简单的文本处理,发射telegram_text活动巴士的活动与以下event_data

文本一些文本已收到”从_first<首先姓名发件人>”来自_last<最后姓名发件人>”用户身份发件人>”chat_id<起源聊天ID>“聊天<聊天信息>”

如果消息是从从内联按钮按,例如,收到回调查询,家庭助理将解雇A必威是什么telegram_callback事件与:

数据<数据联系行动回调>”信息<动作回调的消息来源>从_first<首先姓名发件人>”来自_last<最后姓名发件人>”用户身份发件人>”ID<唯一ID回调>”chat_instance<聊天实例>”chat_id<起源聊天ID>“

配置样本

简单的乒乓球示例。

别名'电报机器人回复乒乓球ping'扳机平台事件事件类型telegram_commandevent_data命令/ping”行动-服务notify.notify数据信息乒乓球”

一个显示与键盘交互的示例notify.telegram

扳机平台事件事件类型telegram_commandevent_data命令/开始”行动-服务notify.telegram数据信息命令”数据键盘-'/ping,/警报'-'/警笛'

和自动化以触发相关命令“/siren”。

扳机平台事件事件类型telegram_commandevent_data命令/警笛”行动-服务乡亲。turn_on目标ENTITY_IDswitch.vision_zm1601eu5_battery_operated_siren_switch_9_0-延迟10-服务homeassistant.turn_off目标ENTITY_IDswitch.vision_zm1601eu5_battery_operated_siren_switch_9_0

一个示例来显示event_data在行动中的使用:

-别名'厨房电报说话'扳机平台事件事件类型telegram_commandevent_data命令/说话”行动-服务notify.kitchen_echo数据信息>来自{{trigger.event.data [“ from_first”]}}的消息。{trigger.event.data [“ args”]%} {{state}} {%endfor%}中的状态

带回调查询和内联键盘的示例自动化

一个快速示例,以显示内联键盘的一些回调功能,其愚蠢的自动化包括一个简单的普通文本中继器,该文本带有3个按钮:“编辑”,“ no”,“ no”和“删除按钮”:

  • 按“编辑”更改已发送消息。
  • 按“否”仅显示简短的通知(回答回调查询)。
  • 按“删除按钮”更改内联键盘,删除该按钮。

文字中继器:

-别名'电报机器人重复文本'扳机平台事件事件类型telegram_text行动-服务telegram_bot.send_message数据标题*哑的自动化*”目标{{{trigger.event.data.user_id}}””信息说:{{{trigger.event.data.text}}””disable_notification真的inline_keyboard-编辑消息:/edit_msg,不要:/do_nothing”-消除这个按钮:/remove_button”

消息编辑器:

-别名'电报机器人编辑最后的发送信息'扳机平台事件事件类型telegram_callbackevent_data命令/edit_msg”行动-服务telegram_bot.answer_callback_query数据callback_query_id{{{trigger.event.data.id}}””信息编辑信息!”show_alert真的-服务telegram_bot.edit_message数据message_id{{{trigger.event.data.message.message_id}}””chat_id{{{trigger.event.data.chat_id}}””标题*信息编辑*”inline_keyboard-编辑消息:/edit_msg,不要:/do_nothing”-消除这个按钮:/remove_button”信息>从{{trigger.event.data.from_first}}收到回调。消息ID:{{trigger.event.data.message.message_id}}。数据:{{trigger.event.data.data | replact(“ _”,“ \ _”)}}}

键盘编辑器:

-别名'电报机器人编辑键盘'扳机平台事件事件类型telegram_callbackevent_data命令/remove_button“行动-服务telegram_bot.answer_callback_query数据callback_query_id{{{trigger.event.data.id}}””信息打回来已收到为了编辑排队键盘!”-服务telegram_bot.edit_replymarkup数据message_id最后的”chat_id{{{trigger.event.data.chat_id}}””inline_keyboard-编辑消息:/edit_msg,不要:/do_nothing”

仅确认“否”答案:

-别名'电报机器人简单地承认扳机平台事件事件类型telegram_callbackevent_data命令/没做什么”行动-服务telegram_bot.answer_callback_query数据callback_query_id{{{trigger.event.data.id}}””信息好的,不!”

电报回调还支持参数和命令与普通消息相同。

-别名'电报机器人重复参数打回来询问'扳机平台事件事件类型telegram_callbackevent_data命令/重复”行动-服务telegram_bot.answer_callback_query数据show_alert真的callback_query_id{{{trigger.event.data.id}}””信息重复:{{trigger.event.data ['args']}}”

在这种情况下,与/重复1 2 3会弹出通知说明我重复:[1,2,3]

接收chat_idmessage_id通过发送消息的标识符telegram_bot

-别名'通知关于消息发送经过电报机器人'扳机平台事件事件类型telegram_sentevent_datamessage_tagmsg_start”行动-服务input_number.set_valuedata_templateENTITY_IDinput_number.chat_id价值{{{trigger.event.data.chat_id}}””-服务input_number.set_valuedata_templateENTITY_IDinput_number.message_id价值{{{trigger.event.data.message_id}}””

示例:带格式文本的send_message

行动-服务notify.telegrambot数据标题示例消息信息'信息*大胆的*,_italic_`单域文本'

示例:带有消息标签的send_message

行动-服务notify.telegrambot数据标题示例消息信息信息标签”数据message_tagexample_tag”