Files
bunny-bot/internal/moon/newChatMembers.go
2025-06-02 18:54:42 +03:00

45 lines
920 B
Go

package moon
import (
"slices"
"github.com/NicoNex/echotron/v3"
)
// newChatMembers parses NewChatMember event.
func newChatMembers(msg *echotron.Update) {
for _, user := range msg.Message.NewChatMembers {
Log.Infof(
"User %s %s (username = %s, id = %d) joined %s %s (%d)",
user.FirstName,
user.LastName,
user.Username,
user.ID,
msg.Message.Chat.Type,
msg.Message.Chat.Title,
msg.Message.Chat.ID,
)
// Keep list of chats updated.
ChatList = append(ChatList, msg.Message.Chat.ID)
slices.Sort(ChatList)
ChatList = slices.Compact(ChatList)
casBanned, err := CasCheckID(user.ID)
if err != nil {
Log.Error(err)
}
// Ban user if cas report it as banned.
if casBanned {
Log.Infof("Ban user %d in chat %d by CAS blacklist")
squash(msg.Message.Chat.ID, user.ID)
}
AddNewMember(msg.Message.Chat.ID, user.ID)
}
}
/* vim: set ft=go noet ai ts=4 sw=4 sts=4: */