commit c5a1d48b6e81a82a88efe810c8856c7fb21d40db
parent 18f4c3274c67fcdf0d31bca60efd80d1eef7379f
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Wed, 19 Feb 2025 14:46:28 -0800
/invite to send a pm message to the user instead of using the zero user
Diffstat:
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/pkg/web/handlers/interceptors/slashInterceptor.go b/pkg/web/handlers/interceptors/slashInterceptor.go
@@ -491,25 +491,20 @@ func handleInviteCmd(c *command.Command) (handled bool) {
if m := inviteRgx.FindStringSubmatch(c.Message); len(m) == 3 {
username := database.Username(m[1])
nbInvites := utils.Clamp(utils.DoParseInt(m[2]), 1, 10)
- sendToUser, err := c.DB.GetUserByUsername(username)
- if err != nil {
- c.Err = ErrUsernameNotFound
- return true
- }
tokens := make([]string, 0)
for i := 0; i < nbInvites; i++ {
if inviteToken, err := c.DB.CreateInvitation(c.AuthUser.ID); err == nil {
tokens = append(tokens, fmt.Sprintf(`<span style="color: Aqua; user-select: all; -webkit-user-select: all;">%s</span>`, inviteToken.Token))
}
}
- go func() {
- time.Sleep(time.Second)
- tokensStr := strings.Join(tokens, "<br />")
- msg := fmt.Sprintf(`invitation tokens from @%s:<br />%s`, c.AuthUser.Username, tokensStr)
- msg, _ = dutils.ColorifyTaggedUsers(msg, c.DB.GetUsersByUsername)
- c.ZeroMsgToUser(sendToUser, msg)
- }()
- c.Err = command.NewErrSuccess(fmt.Sprintf("%d tokens sent", len(tokens)))
+ if err := c.SetToUser(username); err != nil {
+ return true
+ }
+ tokensStr := strings.Join(tokens, "<br />")
+ c.OrigMessage = "<invitation tokens>"
+ c.Message = fmt.Sprintf(`invitation tokens:<br />%s`, tokensStr)
+ c.Raw = true
+ c.RedirectQP.Set(command.RedirectPmQP, string(c.ToUser.Username))
return true
}
return