def decorator(bot: telegram.Bot, update: telegram.Update): if update.message.from_user.is_bot: return User.add_user(update.message.from_user) UserStat.add( UserStat.parse_message_stat(update.message.from_user.id, update.message.chat_id, update.message, update.message.parse_entities())) ReplyTop.parse_message(update.message) IStatAddMessage.add_message(update.message) return func(bot, update)
def leave_check(bot: telegram.Bot, update: telegram.Update): message = update.message chat_id = message.chat_id from_user: telegram.User = message.from_user from_uid = from_user.id if not from_user.is_bot: ChatUser.add(from_uid, chat_id) # убыло left_user = message.left_chat_member if left_user is not None and not left_user.is_bot: User.add_user(left_user) ChatUser.add(left_user.id, chat_id, left=True) if from_uid == left_user.id: # сам ливнул LeaveCollector.add_left(left_user.id, chat_id, message.date, from_uid) else: LeaveCollector.add_kick(left_user.id, chat_id, message.date, from_uid) # прибыло new_users = message.new_chat_members if new_users is not None and len(new_users) > 0: for new_user in new_users: if new_user.is_bot: continue User.add_user(new_user) ChatUser.add(new_user.id, chat_id) if from_uid == new_user.id: # вошел по инвайт-ссылке LeaveCollector.add_invite(new_user.id, chat_id, message.date, from_uid) else: LeaveCollector.add_join(new_user.id, chat_id, message.date, from_uid) send_welcome(bot, chat_id, new_user.id) # если ктоливнулыч что-то пишет, то запускаем сверку списков if 'ktolivnul' in CONFIG and from_uid == CONFIG['ktolivnul']: LeaveCollector.update_ktolivnul(chat_id)
def add_user(args): user = User.get_user(args['user_id']) if user is not None: raise Error(StatusCode.BAD_REQUEST, 'User is already existed') if 'user_basic_info' not in args: args['user_basic_info'] = None if 'user_contact_info' not in args: args['user_contact_info'] = None if 'user_relationship_info' not in args: args['user_relationship_info'] = None user = User.add_user(args['user_id'], args['username'], args['user_basic_info'], args['user_contact_info'], args['user_relationship_info']) return jsonify({'status': True, 'user': user}), StatusCode.OK