|
@@ -7,27 +7,29 @@ from core.tools.tool.builtin_tool import BuiltinTool
|
|
|
|
|
|
|
|
|
class DiscordWebhookTool(BuiltinTool):
|
|
|
- def _invoke(self, user_id: str, tool_parameters: dict[str, Any]
|
|
|
- ) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
|
|
|
+ def _invoke(
|
|
|
+ self, user_id: str, tool_parameters: dict[str, Any]
|
|
|
+ ) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
|
|
|
"""
|
|
|
- Incoming Webhooks
|
|
|
- API Document:
|
|
|
- https://discord.com/developers/docs/resources/webhook#execute-webhook
|
|
|
+ Incoming Webhooks
|
|
|
+ API Document:
|
|
|
+ https://discord.com/developers/docs/resources/webhook#execute-webhook
|
|
|
"""
|
|
|
|
|
|
- content = tool_parameters.get('content', '')
|
|
|
+ content = tool_parameters.get("content", "")
|
|
|
if not content:
|
|
|
- return self.create_text_message('Invalid parameter content')
|
|
|
+ return self.create_text_message("Invalid parameter content")
|
|
|
|
|
|
- webhook_url = tool_parameters.get('webhook_url', '')
|
|
|
+ webhook_url = tool_parameters.get("webhook_url", "")
|
|
|
|
|
|
- if not webhook_url.startswith('https://discord.com/api/webhooks/'):
|
|
|
+ if not webhook_url.startswith("https://discord.com/api/webhooks/"):
|
|
|
return self.create_text_message(
|
|
|
- f'Invalid parameter webhook_url ${webhook_url}, \
|
|
|
- not a valid Discord webhook URL')
|
|
|
+ f"Invalid parameter webhook_url ${webhook_url}, \
|
|
|
+ not a valid Discord webhook URL"
|
|
|
+ )
|
|
|
|
|
|
headers = {
|
|
|
- 'Content-Type': 'application/json',
|
|
|
+ "Content-Type": "application/json",
|
|
|
}
|
|
|
params = {}
|
|
|
payload = {
|
|
@@ -35,15 +37,13 @@ class DiscordWebhookTool(BuiltinTool):
|
|
|
}
|
|
|
|
|
|
try:
|
|
|
- res = httpx.post(webhook_url, headers=headers,
|
|
|
- params=params, json=payload)
|
|
|
+ res = httpx.post(webhook_url, headers=headers, params=params, json=payload)
|
|
|
if res.is_success:
|
|
|
- return self.create_text_message(
|
|
|
- "Text message was sent successfully")
|
|
|
+ return self.create_text_message("Text message was sent successfully")
|
|
|
else:
|
|
|
return self.create_text_message(
|
|
|
f"Failed to send the text message, \
|
|
|
- status code: {res.status_code}, response: {res.text}")
|
|
|
+ status code: {res.status_code}, response: {res.text}"
|
|
|
+ )
|
|
|
except Exception as e:
|
|
|
- return self.create_text_message(
|
|
|
- "Failed to send message through webhook. {}".format(e))
|
|
|
+ return self.create_text_message("Failed to send message through webhook. {}".format(e))
|