Agent-Twitter-Client, 트위터 클라이언트 자동화 라이브러리 (feat. elizaOS)

Agent-Twitter-Client 프로젝트 소개

트위터 데이터를 수집하는 자동화 툴은 여러 가지가 있지만, 대부분은 트위터 API 키가 필요하고 요청 제한이 있어 자유로운 활용이 어렵습니다. eliza Framework을 만드는 팀에서 공개한 agent-twitter-client 프로젝트는 트위터 API 없이도 트윗을 가져오고 트윗을 보낼 수 있는 기능을 제공합니다.

이 프로젝트는 기존의 @the-convocation/twitter-scraper 프로젝트를 확장하여 개발한 것으로, TypeScript 기반으로 트윗 및 리트윗을 보낼 수 있는 기능을 추가한 강력한 트위터 자동화 라이브러리입니다.

Agent-Twitter-Client는 다음과 같은 주요 기능을 제공합니다:

  • 트윗 크롤링: 특정 사용자의 트윗 및 리트윗을 가져올 수 있습니다.

  • 트윗 전송: 트위터 API를 사용하지 않고도 트윗을 보낼 수 있습니다.

  • 트렌드 분석: 트위터의 인기 트렌드를 조회할 수 있습니다.

  • 검색 기능: 특정 키워드나 해시태그를 기반으로 트윗을 검색할 수 있습니다.

  • 미디어 처리: 트윗에 이미지 또는 동영상을 첨부할 수 있습니다.

  • Grok 연동: 트위터에서 Grok AI와 대화를 할 수 있는 기능을 제공합니다.

주요 기능

  1. 트윗 크롤링: 특정 계정의 트윗을 가져오거나 특정 해시태그를 포함한 트윗을 검색할 수 있습니다.

    const scraper = new Scraper();
    await scraper.login('username', 'password');
    const tweets = await scraper.getTweets('elonmusk', 10);
    console.log(tweets);
    
  2. 트윗 전송: 트윗을 자동으로 보낼 수 있으며, 폴 기능을 포함한 트윗도 가능합니다.

    await scraper.sendTweet('자동 트윗 테스트입니다!');
    
  3. 트위터 트렌드 조회: 현재 트위터에서 인기 있는 트렌드를 가져올 수 있습니다.

    const trends = await scraper.getTrends();
    console.log(trends);
    
  4. 미디어 파일 첨부: 이미지나 동영상을 포함한 트윗을 보낼 수도 있습니다.

    const mediaData = [{
                     data: fs.readFileSync('image.jpg'),
                     mediaType: 'image/jpeg',
                    },
    ];
    await scraper.sendTweet('사진과 함께 트윗!', undefined, mediaData);
    
  5. Grok 연동 (트위터 내 AI 채팅): 트위터 내 AI 모델인 Grok과 직접 대화를 나눌 수도 있습니다.

    const response = await scraper.grokChat({
               messages: [{ role: 'user', content: 'AI에 대한 너의 생각은?' }],
    });
    console.log(response.message);
    

설치 및 사용법

  1. 라이브러리 설치

    npm install agent-twitter-client
    
  2. 환경 변수 설정

    # 로그인을 위한 계정 정보를 .env 파일에 추가합니다.    
    TWITTER_USERNAME=your_username
    TWITTER_PASSWORD=your_password
    TWITTER_EMAIL=your_email
    
  3. 기본 사용법

    const scraper = new Scraper();
    await scraper.login('your_username', 'your_password');
    const tweets = await scraper.getTweets('elonmusk', 10);
    console.log(tweets);
    

제한 사항(Limitations)

  • 현재 비공식 API 사용으로 메시지 내역의 미리 채우기(Message History Prefilling) 기능이 제한됩니다.
  • 프리미엄이 아닌 경우 2시간의 25개 메시지로 속도 제한이 적용됩니다.

라이선스

Agent-Twitter-Client 프로젝트는 MIT License로 배포되고 있습니다.

:github Agent-Twitter-Client GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: