[docs]classSendMessageSchema(BaseModel):"""Input for SendMessageTool."""message:str=Field(...,description="The message to be sent.",)channel:str=Field(...,description="The channel, private group, or IM channel to send message to.",)
[docs]classSlackSendMessage(SlackBaseTool):# type: ignore[override, override]"""Tool for sending a message in Slack."""name:str="send_message"description:str=("Use this tool to send a message with the provided message fields.")args_schema:Type[SendMessageSchema]=SendMessageSchemadef_run(self,message:str,channel:str,run_manager:Optional[CallbackManagerForToolRun]=None,)->str:try:result=self.client.chat_postMessage(channel=channel,text=message)output="Message sent: "+str(result)returnoutputexceptExceptionase:return"Error creating conversation: {}".format(e)