def add(self, user: User): return self._coll.update_one({ "_id": user.id, }, {"$set": { "meta": user.to_dict() }}, upsert=True)
def upsert_user(self, user: User): """Insert or if existing update user Args: user (:obj:`telegram.user.User`): Telegram Api User Object """ self.users.update({'id': user.id}, user.to_dict(), upsert=True)
def add(self, user: User) -> UpdateResult: return self._coll.update_one( { "_id": int(user.id), }, {"$set": { "meta": user.to_dict(), }}, upsert=True, )
def change_points(self, chat_id, user: User, value): chat_doc = self.db.collection("chats").document(str(chat_id)) try: chat_doc.create({}) except AlreadyExists: pass try: self.db.collection("users").document(str(user.id)).update( user.to_dict()) except NotFound: self.db.collection("users").document(str(user.id)).set( user.to_dict()) user_doc = self.db.collection("users").document(str(user.id)) try: chat_doc.collection("scores").document(user.first_name).update( dict(score=Increment(value), user=user_doc)) except NotFound: chat_doc.collection("scores").document(user.first_name).set( dict(score=value, user=user_doc))
def add(self, user: User): now: datetime = datetime.now() return self._coll.insert_one({ "_id": user.id, "meta": user.to_dict(), "shot_counter": 0, "miss_counter": 0, "dead_counter": 0, "total_time_in_club": timedelta().seconds, # TODO: wat about ranks? # "rank": meh, "first_shot": now, "last_shot": now, })