def block(bot, event, username=None, *args): if not username: segments = [hangups.ChatMessageSegment("Blocked Users: ", is_bold=True), hangups.ChatMessageSegment("\n", segment_type=hangups.SegmentType.LINE_BREAK), hangups.ChatMessageSegment("No users blocked.")] if len(UtilBot.get_blocked_users_in_conversations(event.conv_id)) > 0: segments.pop() for user in event.conv.users: if UtilBot.is_user_blocked(event.conv_id, user.id_): segments.append(hangups.ChatMessageSegment(user.full_name)) segments.append(hangups.ChatMessageSegment("\n", segment_type=hangups.SegmentType.LINE_BREAK)) segments.pop() bot.send_message_segments(event.conv, segments) return username_lower = username.strip().lower() for u in sorted(event.conv.users, key=lambda x: x.full_name.split()[-1]): if not username_lower in u.full_name.lower() or event.user.is_self: continue if u.id_ == event.user.id_: bot.send_message(event.conv, "Aborting block as it would block calling user. ({})".format(u.full_name)) return if UtilBot.is_user_blocked(event.conv_id, u.id_): UtilBot.remove_from_blocklist(event.conv_id, u.id_) bot.send_message(event.conv, "Unblocked User: {}".format(u.full_name)) return UtilBot.add_to_blocklist(event.conv_id, u.id_) bot.send_message(event.conv, "Blocked User: {}".format(u.full_name)) return