-
Notifications
You must be signed in to change notification settings - Fork 1
/
message.go
62 lines (56 loc) · 1.61 KB
/
message.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package whatsauth
import (
"strconv"
"strings"
"github.com/aiteung/atmessage"
"github.com/aiteung/atmodel"
)
func GenerateButtonMessage(header string, content string, footer string) (btnmsg atmodel.ButtonsMessage) {
btnmsg.Message.HeaderText = header
btnmsg.Message.ContentText = content
btnmsg.Message.FooterText = footer
btnmsg.Buttons = []atmodel.WaButton{}
return btnmsg
}
func GenerateButtonMessageCustom(
uuid string,
header string,
content string,
footer string,
button []string,
) (btnmsg atmodel.ButtonsMessage) {
if len(button) == 0 {
btnmsg = GenerateButtonMessage(header, content, footer)
return
}
keys := make(map[string]bool, len(button))
uniq := make([]string, 0, len(button))
for _, entry := range button {
if _, value := keys[entry]; !value {
keys[entry] = true
uniq = append(uniq, entry)
}
}
btnmsg.Message.HeaderText = header
btnmsg.Message.ContentText = content
btnmsg.Message.FooterText = footer
butt := make([]atmodel.WaButton, 0, len(uniq))
for _, v := range uniq {
butt = append(butt, atmodel.WaButton{
ButtonId: "wh4t5auth0." + v + "." + uuid,
DisplayText: strings.ToTitle(v),
})
}
btnmsg.Buttons = butt
return
}
func ButtonMessageToMessage(btm atmessage.ButtonsMessage, prefixurlapiwa string) string {
judul := "*" + btm.Message.HeaderText + "*\n"
konten := btm.Message.ContentText + "\n"
kaki := "_" + btm.Message.FooterText + "_\n\n"
var listroles string
for i, role := range btm.Buttons {
listroles = listroles + strconv.Itoa(i+1) + ". *" + role.DisplayText + "*\n" + prefixurlapiwa + role.ButtonId + "\n"
}
return judul + konten + kaki + listroles
}