File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -702,15 +702,10 @@ func (u *User) writelnWithImageCache(msg Message, cache map[string]image.Image)
702702 case PrivateMessageSend :
703703 msg .text = strings .TrimSpace (mdRender (msg .text , lenString (msg .senderName ), u .winWidth , cache ))
704704 msg .text = msg .senderName + " <- " + msg .text
705- if ! thisUserIsDMSender {
706- msg .text += "\a "
707- }
708705 case PrivateMessageReceive :
709706 msg .text = strings .TrimSpace (mdRender (msg .text , lenString (msg .senderName ), u .winWidth , cache ))
710707 msg .text = msg .senderName + " -> " + msg .text
711- if ! thisUserIsDMSender {
712- msg .text += "\a "
713- }
708+ msg .text += "\a "
714709 case DefaultMessage :
715710 msg .text = strings .TrimSpace (mdRender (msg .text , lenString (msg .senderName )+ 2 , u .winWidth , cache ))
716711 msg .text = msg .senderName + ": " + msg .text
Original file line number Diff line number Diff line change @@ -191,13 +191,28 @@ func (s *pluginServer) SendMessage(ctx context.Context, msg *pb.Message) (*pb.Me
191191 if ! success {
192192 return nil , status .Error (codes .NotFound , "Could not find user " + * msg .EphemeralTo )
193193 }
194- u .writeln (NewPrivateMessage (msg .GetFrom (), msg .Msg , false ))
194+ var localMsg Message
195+ if msg .GetFrom () == "" {
196+ localMsg = NewNoSenderMessage (msg .Msg )
197+ } else {
198+ localMsg = NewPrivateMessage (msg .GetFrom (), msg .Msg , false )
199+ }
200+ localMsg = localMsg .dontSendToPlugin ()
201+ u .writeln (localMsg )
195202 } else {
196203 r := Rooms [msg .Room ]
197204 if r == nil {
198205 return nil , status .Error (codes .InvalidArgument , "Room does not exist" )
199206 }
200- r .broadcast (NewMessage (msg .GetFrom (), msg .Msg ).dontSendToPlugin ())
207+ // The plugin API doesn't export a function to send messages with no sender, so we must add support for it here.
208+ var localMsg Message
209+ if msg .GetFrom () == "" {
210+ localMsg = NewNoSenderMessage (msg .Msg )
211+ } else {
212+ localMsg = NewMessage (msg .GetFrom (), msg .Msg )
213+ }
214+ localMsg = localMsg .dontSendToPlugin ()
215+ r .broadcast (localMsg )
201216 }
202217 return & pb.MessageRes {}, nil
203218}
You can’t perform that action at this time.
0 commit comments