98 lines
2.6 KiB
Go
98 lines
2.6 KiB
Go
package moon
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/NicoNex/echotron/v3"
|
|
"github.com/davecgh/go-spew/spew"
|
|
)
|
|
|
|
func textMessage(msg *echotron.Update) {
|
|
if msg.Message.ReplyToMessage == nil {
|
|
// Just log it, it seems later here should be ban/mute command set.
|
|
Log.Infof(
|
|
"User %s %s (username = %s, id = %d) in %s %s (%d) says: %s",
|
|
msg.Message.From.FirstName,
|
|
msg.Message.From.LastName,
|
|
msg.Message.From.Username,
|
|
msg.Message.From.ID,
|
|
msg.Message.Chat.Type,
|
|
msg.Message.Chat.Title,
|
|
msg.Message.Chat.ID,
|
|
msg.Message.Text,
|
|
)
|
|
} else {
|
|
// Just log it.
|
|
Log.Infof(
|
|
"User %s %s (username = %s, id = %d) in %s %s (%d) replies to message %d by %s %s (username = %s, id = %d): %s",
|
|
msg.Message.From.FirstName,
|
|
msg.Message.From.LastName,
|
|
msg.Message.From.Username,
|
|
msg.Message.From.ID,
|
|
msg.Message.Chat.Type,
|
|
msg.Message.Chat.Title,
|
|
msg.Message.Chat.ID,
|
|
msg.Message.ReplyToMessage.ID,
|
|
msg.Message.ReplyToMessage.From.FirstName,
|
|
msg.Message.ReplyToMessage.From.LastName,
|
|
msg.Message.ReplyToMessage.From.Username,
|
|
msg.Message.ReplyToMessage.From.ID,
|
|
msg.Message.Text,
|
|
)
|
|
}
|
|
|
|
// Update database of new members :)
|
|
// Try to get timestamp when this member joined to chat
|
|
if joinTimestampString := Cfg.GetValue(
|
|
"NewMembers",
|
|
fmt.Sprintf("%d", msg.ChatMember.Chat.ID),
|
|
fmt.Sprintf("%d", msg.ChatMember.NewChatMember.User.ID),
|
|
); joinTimestampString == "" {
|
|
if err := Cfg.SaveKeyValue(
|
|
"NewMembers",
|
|
fmt.Sprintf("%d", msg.Message.Chat.ID),
|
|
fmt.Sprintf("%d", msg.Message.From.ID),
|
|
fmt.Sprintf("%d", time.Now().Unix()),
|
|
); err != nil {
|
|
Log.Error(err)
|
|
} else {
|
|
Log.Infof("Info about new userid %d saved to new users db", msg.Message.From.ID)
|
|
}
|
|
}
|
|
|
|
if msg.Message.Text == "cf9ccd46f56c32eca88390785e94d69b" {
|
|
// TODO: замьютить юзера.
|
|
kbr := []echotron.KeyboardButton{}
|
|
kbr = append(kbr, echotron.KeyboardButton{
|
|
Text: "Кек",
|
|
})
|
|
kbr = append(kbr, echotron.KeyboardButton{
|
|
Text: "Лол",
|
|
})
|
|
|
|
kbd := [][]echotron.KeyboardButton{}
|
|
kbd = append(kbd, kbr)
|
|
messageText := fmt.Sprintf("Дорогой [%s](tg://user?id=%d), ты нашёл скрытый ивент, лол?", msg.Message.From.Username, msg.Message.From.ID)
|
|
|
|
r, err := Tg.SendMessage(
|
|
messageText,
|
|
msg.Message.Chat.ID,
|
|
&echotron.MessageOptions{
|
|
ParseMode: echotron.Markdown,
|
|
ReplyMarkup: echotron.ReplyKeyboardMarkup{
|
|
Keyboard: kbd,
|
|
OneTimeKeyboard: true,
|
|
Selective: true,
|
|
ResizeKeyboard: true,
|
|
},
|
|
},
|
|
)
|
|
|
|
Log.Info(spew.Sdump(err))
|
|
Log.Info(spew.Sdump(r))
|
|
}
|
|
}
|
|
|
|
/* vim: set ft=go noet ai ts=4 sw=4 sts=4: */
|