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