from youtube_transcript_api import YouTubeTranscriptApi
import sys

def get_transcript(video_id):
    try:
        # Fetching the transcript (new API uses fetch() method)
        api = YouTubeTranscriptApi()
        transcript_list = api.fetch(video_id)

        # Joining the text into one block
        full_transcript = " ".join([item.text for item in transcript_list])

        with open(f"transcript_{video_id}.txt", "w", encoding="utf-8") as f:
            f.write(full_transcript)

        print(f"Success! Saved to transcript_{video_id}.txt")
        return full_transcript
    except Exception as e:
        print(f"Error: {e}")
        return None

if __name__ == "__main__":
    # Pass the ID as an argument: python get_yt.py dQw4w9WgXcQ
    vid_id = sys.argv[1]
    get_transcript(vid_id)
