mirror of
https://dev.narayana.im/narayana/telegabber.git
synced 2026-08-04 19:57:07 +00:00
Refactor SendMessage/SendMessageWithOOB invocations
This commit is contained in:
parent
0ab4073cc0
commit
b9bb367287
4 changed files with 22 additions and 37 deletions
|
|
@ -405,7 +405,10 @@ func (c *Client) updateMessageContent(update *client.UpdateMessageContent) {
|
|||
}
|
||||
for _, jid := range jids {
|
||||
if safeToSend {
|
||||
gateway.SendMessage(jid, from, text.String(), id, c.xmpp, nil, 0, replaceId, isCarbon, isMUC, false, originalFrom, "", "", "", nil)
|
||||
gateway.SendMessage(jid, from, c.xmpp,
|
||||
gateway.SMBody(text.String()), gateway.SMId(id), gateway.SMReplaceId(replaceId),
|
||||
gateway.SMIsCarbon(isCarbon), gateway.SMIsGroupchat(isMUC), gateway.SMOriginalFrom(originalFrom),
|
||||
)
|
||||
} else {
|
||||
gateway.SendMUCAnnouncement(jid, from, text.String(), nickname, id, c.xmpp)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2060,9 +2060,17 @@ func (c *Client) SendMessageToGateway(chatId int64, message *client.Message, id
|
|||
}
|
||||
|
||||
for _, jid := range jids {
|
||||
gateway.SendMessageWithOOB(jid, from, text, sId, c.xmpp, reply, timestamp, oob, "", isCarbon, isGroupchat, c.Session.Receipts, originalFrom, stanzaId, mamQueryId, mucJID, mucUserItem)
|
||||
commonArgs := []args.V{
|
||||
gateway.SMReply(reply), gateway.SMTimestamp(timestamp), gateway.SMIsCarbon(isCarbon),
|
||||
gateway.SMIsGroupchat(isGroupchat), gateway.SMRequestReceipt(c.Session.Receipts),
|
||||
gateway.SMOriginalFrom(originalFrom), gateway.SMMamQueryId(mamQueryId),
|
||||
gateway.SMMucJID(mucJID), gateway.SMMucUserItem(mucUserItem),
|
||||
}
|
||||
gateway.SendMessage(jid, from, c.xmpp, append(commonArgs,
|
||||
gateway.SMBody(text), gateway.SMId(sId), gateway.SMStanzaId(stanzaId), gateway.SMOOB(oob))...)
|
||||
if auxText != "" {
|
||||
gateway.SendMessage(jid, from, auxText, auxId, c.xmpp, reply, timestamp, "", isCarbon, isGroupchat, c.Session.Receipts, originalFrom, auxId, mamQueryId, mucJID, mucUserItem)
|
||||
gateway.SendMessage(jid, from, c.xmpp, append(commonArgs,
|
||||
gateway.SMBody(auxText), gateway.SMId(auxId), gateway.SMStanzaId(auxId))...)
|
||||
}
|
||||
}
|
||||
c.UpdateLastChatMessageId(chatId, sId)
|
||||
|
|
@ -2951,23 +2959,9 @@ func (c *Client) sendMessagesReverse(chatID int64, messages []*client.Message, p
|
|||
}
|
||||
|
||||
for _, to := range plainTos {
|
||||
gateway.SendMessage(
|
||||
to,
|
||||
from,
|
||||
c.formatMessage(0, 0, false, !isMUC, message),
|
||||
sId,
|
||||
c.xmpp,
|
||||
reply,
|
||||
0,
|
||||
"",
|
||||
false,
|
||||
isMUC,
|
||||
false,
|
||||
originalFrom,
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
nil,
|
||||
gateway.SendMessage(to, from, c.xmpp,
|
||||
gateway.SMBody(c.formatMessage(0, 0, false, !isMUC, message)), gateway.SMId(sId),
|
||||
gateway.SMReply(reply), gateway.SMIsGroupchat(isMUC), gateway.SMOriginalFrom(originalFrom),
|
||||
)
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -128,13 +128,10 @@ func ResourcePrep(resource string) (string, error) {
|
|||
return resourcePrepProfile.Prepare(resource)
|
||||
}
|
||||
|
||||
// SendMessage creates and sends a message stanza
|
||||
func SendMessage(to, from, body, id string, component *xmpp.Component, reply *Reply, timestamp int64, replaceId string, isCarbon, isGroupchat, requestReceipt bool, originalFrom, stanzaId, mamQueryId, mucJID string, mucUserItem *MUCUserItem) {
|
||||
sendMessageWrapper(to, from, component,
|
||||
SMBody(body), SMId(id), SMReply(reply), SMTimestamp(timestamp), SMReplaceId(replaceId),
|
||||
SMIsCarbon(isCarbon), SMIsGroupchat(isGroupchat), SMRequestReceipt(requestReceipt),
|
||||
SMOriginalFrom(originalFrom), SMStanzaId(stanzaId), SMMamQueryId(mamQueryId), SMMucJID(mucJID), SMMucUserItem(mucUserItem),
|
||||
)
|
||||
// SendMessage creates and sends a message stanza. See the SM* option
|
||||
// constructors below (SMBody, SMReply, SMOOB, ...) for what can be set.
|
||||
func SendMessage(to, from string, component *xmpp.Component, args ...args.V) {
|
||||
sendMessageWrapper(to, from, component, args...)
|
||||
}
|
||||
|
||||
// SendServiceMessage creates and sends a simple message stanza from transport
|
||||
|
|
@ -200,15 +197,6 @@ func SendErrorMessageWithBody(to, from, body, errorText, id string, code int, is
|
|||
sendMessageWrapper(to, from, component, SMBody(body), SMErrorText(errorText), SMId(id), SMIsGroupchat(isGroupchat), SMErrorCode(code))
|
||||
}
|
||||
|
||||
// SendMessageWithOOB creates and sends a message stanza with OOB URL
|
||||
func SendMessageWithOOB(to, from, body, id string, component *xmpp.Component, reply *Reply, timestamp int64, oob, replaceId string, isCarbon, isGroupchat, requestReceipt bool, originalFrom, stanzaId, mamQueryId, mucJID string, mucUserItem *MUCUserItem) {
|
||||
sendMessageWrapper(to, from, component,
|
||||
SMBody(body), SMId(id), SMReply(reply), SMTimestamp(timestamp), SMOOB(oob), SMReplaceId(replaceId),
|
||||
SMIsCarbon(isCarbon), SMIsGroupchat(isGroupchat), SMRequestReceipt(requestReceipt),
|
||||
SMOriginalFrom(originalFrom), SMStanzaId(stanzaId), SMMamQueryId(mamQueryId), SMMucJID(mucJID), SMMucUserItem(mucUserItem),
|
||||
)
|
||||
}
|
||||
|
||||
// SendSubjectMessage creates and sends a MUC subject
|
||||
func SendSubjectMessage(to, from, subject, id string, component *xmpp.Component, timestamp int64) {
|
||||
sendMessageWrapper(to, from, component, SMSubject(subject), SMId(id), SMTimestamp(timestamp), SMIsGroupchat(true), SMForceSubject(true))
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ func HandleMessage(s xmpp.Sender, p stanza.Packet) {
|
|||
}
|
||||
} else if isCommand && isGroupchat && session.Session.MUC {
|
||||
// pong outgoing commands back to groupchats
|
||||
gateway.SendMessage(msg.From, msg.To + "/" + session.GetMUCNickname(0), text, "", component, nil, 0, "", false, isGroupchat, false, "", "", "", "", nil)
|
||||
gateway.SendMessage(msg.From, msg.To+"/"+session.GetMUCNickname(0), component, gateway.SMBody(text), gateway.SMIsGroupchat(isGroupchat))
|
||||
} else {
|
||||
/*
|
||||
// if a message failed to edit on Telegram side, match new XMPP ID with old Telegram ID anyway
|
||||
|
|
|
|||
Loading…
Reference in a new issue