fix: watch chat check
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user