def find_submission_body_end(submission_body: str) -> int:
    """Finds the end of the story's body by stripping edits and
    links at the bottom.

    Returns:
        the index at which the story's body ends.
    """

    markers = [
        '-Secrets',
        'EDIT:',
        'Edit:',
        'Continued in [part',
        'Concluded in [Part',
        '[Part'
    ]

    # only match the bottom half of the story so we don't
    # match things at the start of the story
    offset = int(len(submission_body) / 2)

    # find the end of the story, marked by one of the markers,
    # or none, and then we don't cut off anything at the end
    story_end_offset = None
    for end_marker in markers:
        try:
            story_end_offset = submission_body.index(end_marker, offset)
        except Exception as excp:
            continue

        break

    # no marker has been found, take the entire story
    if story_end_offset is None:
        story_end_offset = len(submission_body)

    return story_end_offset