commit 18f4c3274c67fcdf0d31bca60efd80d1eef7379f
parent fb3a0628a176087d82a3a5f0e92e5cca19de4d5b
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Wed, 19 Feb 2025 14:45:56 -0800
allow to send raw messages
Diffstat:
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/pkg/web/handlers/interceptors/command/command.go b/pkg/web/handlers/interceptors/command/command.go
@@ -42,6 +42,7 @@ type Command struct {
Err error
// Data that can be mutated
+ Raw bool // If true, will send raw message
RedirectQP url.Values // RedirectURL Query Parameters
OrigMessage string // This is the original text that the user input (can be changed by /e)
DataMessage string // This is what the user will have in his input box
diff --git a/pkg/web/handlers/interceptors/msgInterceptor.go b/pkg/web/handlers/interceptors/msgInterceptor.go
@@ -104,11 +104,18 @@ func (i MsgInterceptor) InterceptMsg(cmd *command.Command) {
return
}
- html, taggedUsersIDsMap, err := dutils.ProcessRawMessage(cmd.DB, cmd.Message, cmd.RoomKey, cmd.AuthUser.ID, cmd.Room.ID, cmd.Upload, cmd.AuthUser.IsModerator(), cmd.AuthUser.CanUseMultiline, cmd.AuthUser.ManualMultiline)
- if err != nil {
- cmd.DataMessage = cmd.OrigMessage
- cmd.Err = err
- return
+ var html string
+ var err error
+ taggedUsersIDsMap := make(map[database.UserID]database.User)
+ if !cmd.Raw {
+ html, taggedUsersIDsMap, err = dutils.ProcessRawMessage(cmd.DB, cmd.Message, cmd.RoomKey, cmd.AuthUser.ID, cmd.Room.ID, cmd.Upload, cmd.AuthUser.IsModerator(), cmd.AuthUser.CanUseMultiline, cmd.AuthUser.ManualMultiline)
+ if err != nil {
+ cmd.DataMessage = cmd.OrigMessage
+ cmd.Err = err
+ return
+ }
+ } else {
+ html = cmd.Message
}
if len(strings.TrimSpace(html)) <= len("<p></p>") {