Source code for langchain_community.tools.ifttt

"""From https://github.com/SidU/teams-langchain-js/wiki/Connecting-IFTTT-Services.

# 创建一个 webhook
- 转到 https://ifttt.com/create

# 配置 "If This"
- 在 IFTTT 界面中点击 "If This" 按钮。
- 在搜索栏中搜索 "Webhooks"。
- 选择第一个选项 "Receive a web request with a JSON payload."。
- 选择一个与你计划连接的服务相关的事件名称。
这将使你更容易管理 webhook URL。
例如,如果你连接到 Spotify,你可以使用 "Spotify" 作为你的事件名称。
- 点击 "Create Trigger" 按钮保存设置并创建 webhook。

# 配置 "Then That"
- 在 IFTTT 界面中点击 "Then That" 按钮。
- 搜索你想连接的服务,比如 Spotify。
- 从服务中选择一个动作,比如 "Add track to a playlist"。
- 通过指定必要的细节配置动作,比如播放列表名称,例如 "Songs from AI"。
- 在你的动作中引用 Webhook 收到的 JSON Payload。对于 Spotify 场景,选择 "{{JsonPayload}}" 作为你的搜索查询。
- 点击 "Create Action" 按钮保存动作设置。
- 配置完你的动作后,点击 "Finish" 按钮完成设置。
- 恭喜你!你已成功将 Webhook 连接到所需的服务,并且可以开始接收数据并触发动作 🎉

# 完成设置
- 要获取你的 webhook URL,请转到 https://ifttt.com/maker_webhooks/settings
- 从那里复制 IFTTT 密钥值。URL 的格式为 https://maker.ifttt.com/use/YOUR_IFTTT_KEY。获取 YOUR_IFTTT_KEY 的值。
"""
from typing import Optional

import requests
from langchain_core.callbacks import CallbackManagerForToolRun
from langchain_core.tools import BaseTool


[docs]class IFTTTWebhook(BaseTool): """IFTTT Webhook. 参数: name: 工具的名称 description: 工具的描述 url: 用于发送json事件的url。""" url: str def _run( self, tool_input: str, run_manager: Optional[CallbackManagerForToolRun] = None, ) -> str: body = {"this": tool_input} response = requests.post(self.url, data=body) return response.text