Esempio n. 1
0
 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)
Esempio n. 3
0
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