"log"
"os"
"path"
+ "strings"
+ "unicode/utf8"
"github.com/fsnotify/fsnotify"
"github.com/mattermost/mattermost-server/v6/model"
"go.stargrave.org/mmc"
)
+var Threads = make(map[string]string)
+
+func rememberPost(post map[string][]string) {
+ text := strings.Split(post["Text"][0], "\n")[0]
+ i := 60
+ if len(text) > i {
+ for i > 0 && !utf8.Valid([]byte{text[i]}) {
+ i--
+ }
+ text = text[:i] + "..."
+ }
+ Threads[post["Id"][0]] = text
+}
+
func printPost(m map[string][]string) {
var tag string
if len(m["Event"]) > 0 {
tag += "[DEL] "
}
}
- fmt.Printf("\a%s <%s> %s%s\n", m["Created"][0], m["Sender"][0], tag, m["Text"][0])
+ var re string
+ if len(m["RootId"]) > 0 {
+ thread := Threads[m["RootId"][0]]
+ if thread == "" {
+ thread = m["RootId"][0]
+ }
+ re = " [RE]: " + thread
+ }
+ fmt.Printf(
+ "\a%s <%s> %s%s%s\n",
+ m["Created"][0], m["Sender"][0],
+ tag, m["Text"][0], re,
+ )
tag += "[FILE] "
for i, fileId := range m["File"] {
fmt.Printf(
ms = ms[len(ms)-*lastNum:]
}
for _, m := range ms {
+ rememberPost(m)
printPost(m)
}
}
log.Fatalln(err)
}
+ rememberPost(m)
printPost(m)
}
unlock()