|  |  |  | @ -6,6 +6,7 @@ import ( | 
		
	
		
			
				|  |  |  |  | 	"fmt" | 
		
	
		
			
				|  |  |  |  | 	"io" | 
		
	
		
			
				|  |  |  |  | 	"strings" | 
		
	
		
			
				|  |  |  |  | 	"text/template" | 
		
	
		
			
				|  |  |  |  | 	"time" | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 	"github.com/gin-gonic/gin" | 
		
	
	
		
			
				
					|  |  |  | @ -373,12 +374,13 @@ func handleChatMessage(cli *op.Client, message string) error { | 
		
	
		
			
				|  |  |  |  | 	if message == "" { | 
		
	
		
			
				|  |  |  |  | 		return sendErrorMessage(cli, "message is empty") | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	if len(message) > MaxChatMessageLength { | 
		
	
		
			
				|  |  |  |  | 	sanitizedMessage := template.HTMLEscapeString(message) | 
		
	
		
			
				|  |  |  |  | 	if len(sanitizedMessage) > MaxChatMessageLength { | 
		
	
		
			
				|  |  |  |  | 		return sendErrorMessage(cli, "message too long") | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	err := cli.SendChatMessage(message) | 
		
	
		
			
				|  |  |  |  | 	err := cli.SendChatMessage(sanitizedMessage) | 
		
	
		
			
				|  |  |  |  | 	if err != nil && errors.Is(err, model.ErrNoPermission) { | 
		
	
		
			
				|  |  |  |  | 		return sendErrorMessage(cli, fmt.Sprintf("send chat message error: %v", err)) | 
		
	
		
			
				|  |  |  |  | 		return sendErrorMessage(cli, "failed to send message due to permission issue") | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  | 	return err | 
		
	
		
			
				|  |  |  |  | } | 
		
	
	
		
			
				
					|  |  |  | 
 |