fix: watch chat check

This commit is contained in:
krau
2025-08-03 17:04:26 +08:00
parent 133453b5d4
commit 0c16650ea5
3 changed files with 6 additions and 3 deletions

View File

@@ -62,6 +62,7 @@ func Register(disp dispatcher.Dispatcher) {
func listenMediaMessageEvent(ch chan userclient.MediaMessageEvent) {
logger := log.FromContext(userclient.GetCtx())
for event := range ch {
logger.Debug("Received media message event", "chat_id", event.ChatID, "file_name", event.File.Name())
ctx := event.Ctx
file := event.File
chats, err := database.GetWatchChatsByChatID(ctx, event.ChatID)
@@ -81,7 +82,9 @@ func listenMediaMessageEvent(ch chan userclient.MediaMessageEvent) {
filterData := filter[1]
switch filterType {
case "msgre":
if _, err := regexp.MatchString(filterData, msgText); err != nil {
if ok, err := regexp.MatchString(filterData, msgText); err != nil {
continue
} else if !ok {
continue
}
default:

View File

@@ -113,7 +113,7 @@ func Login(ctx context.Context) (*gotgproto.Client, error) {
uc.Dispatcher.AddHandler(handlers.NewMessage(filters.Message.Media, func(ctx *ext.Context, u *ext.Update) error {
chatId := u.EffectiveChat().GetID()
watchChats, err := database.GetWatchChatsByChatID(ctx, chatId)
if err != nil || watchChats == nil {
if err != nil || len(watchChats) == 0 {
return dispatcher.EndGroups
}
return dispatcher.ContinueGroups

View File

@@ -3,7 +3,7 @@ package database
import "context"
func (user *User) WatchChat(ctx context.Context, chat WatchChat) error {
if user.WatchChats == nil {
if len(user.WatchChats) == 0 {
user.WatchChats = make([]WatchChat, 0)
}