def all(update, context): # Update Bakchod DB bakchod = dao.get_bakchod_by_id(update.message.from_user.id) if bakchod is None: bakchod = Bakchod.fromUpdate(update) logger.info("Looks like we have a new Bakchod! - {}", bakchod.__dict__) bakchod = update_bakchod(bakchod, update) # Update Group DB group = dao.get_group_by_id(update.message.chat.id) if group is None: group = Group.fromUpdate(update) logger.info("Looks like we have a new Group! - {}", group.__dict__) update_group(group, bakchod, update) # Log this logger.info( "[default.all] b.username='******' b.rokda={} g.title='{}'", util.extract_pretty_name_from_bakchod(bakchod), bakchod.rokda, group.title, ) handle_bakchod_modifiers(update, context, bakchod) handle_dice_rolls(update, context) handle_message_matching(update, context)
def status_update(update, context): group = dao.get_group_by_id(update.message.chat.id) if group is None: group = Group.fromUpdate(update) # Handle new_chat_title new_chat_title = update.message.new_chat_title if new_chat_title is not None: group.title = new_chat_title logger.info("[status_update] new_chat_title g.title={}", group.title) dao.insert_group(group) # Handle new_chat_member new_chat_members = update.message.new_chat_members if new_chat_members is not None: for new_member in new_chat_members: bakchod = Bakchod(new_member.id, new_member.username, new_member.first_name) dao.insert_bakchod(bakchod) if bakchod.id not in group.members: group.members.append(bakchod.id) dao.insert_group(group) logger.info( "[status_update] new_chat_member g.title={} b.username={}", group.title, bakchod.username, ) # Handle left_chat_member left_chat_member = update.message.left_chat_member if left_chat_member is not None: group.members.remove(left_chat_member.id) dao.insert_group(group) logger.info( "[status_update] left_chat_member g.title={} b.username={}", group.title, left_chat_member.username, )