diff --git a/db/db.go b/db/db.go index d2d5800..3879cd7 100644 --- a/db/db.go +++ b/db/db.go @@ -39,3 +39,25 @@ func AddChat(chatID int64) error { } return result.Err() } + +func AddUserInChat(chatID int64, username string) error { + if err := AddChat(chatID); err != nil { + return err + } + + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + defer cancel() + + client, err := mongo.Connect(ctx, options.Client().ApplyURI(cfg.MongoURL)) + if err != nil { + return err + } + + collection := client.Database(cfg.DBName).Collection(cfg.ChatsCollectionName) + _, err = collection.UpdateOne( + ctx, + bson.E{Key: "chat_id", Value: chatID}, + bson.M{"addToSet": bson.M{"users": username}}, + ) + return err +} diff --git a/main.go b/main.go index ffa225a..5e1bbc8 100644 --- a/main.go +++ b/main.go @@ -80,6 +80,9 @@ func run() { text := update.Message.Text chatID := update.Message.Chat.ID + username := update.Message.From.UserName + + _ = db.AddUserInChat(chatID, username) if strings.Contains(strings.ToLower(text), tag) { _, _ = bot.Send(tgbot.NewMessage(chatID, allUsers))