Twitter: 귀하의 이름으로 팔로워 수 자동 업데이트

주말에 재미있는 일을 하고 싶었어요! dev twitter의 많은 사람들이 봇을 만들고 있기 때문에 이것을 출발점으로 시작했습니다.

이렇게 생겼습니다. 내 이름과 팔로워 수는 다음과 같습니다.


이 블로그 게시물에서는 이를 수행하는 한 가지 방법을 나열했습니다. 다른 많은 방법도 찾을 수 있습니다!

이 애완동물 프로젝트의 기술 스택
  • Node.js

  • (npm 패키지)

  • Vercel (호스팅용)

  • cron-job (업데이트를 자동화하는 무료 cron 서비스)

  • 전제 조건
  • 가 있어야 하며 새 앱을 만들 수 있는 위치를 활성화해야 합니다.
  • 여기에서 모든 액세스 토큰과 API 키 및 전달자 토큰을 얻습니다.

  • 1 단계:

    먼저 코드를 작성합니다.

    우리는 twitter-lite를 사용할 것이며 twitter API를 래핑하는 다른 패키지도 있습니다. 첫 번째 단계는 트위터 데이터를 가져오고 보내는 트위터 클라이언트를 만드는 것입니다.

    const Twitter = require('twitter-lite');
    
    const twitterClient = new Twitter({
        subdomain: "api", // we are using twitter api
        version: "1.1", // twitter api version 1.1
        consumer_key: process.env.API_KEY,
        consumer_secret: process.env.API_SECRET,
        access_token_key: process.env.ACCESS_TOKEN, 
        access_token_secret: process.env.ACCESS_TOKEN_SECRET
    });
    
    

    vercel에 배포할 때 이러한 환경 변수를 추가하는 것을 잊지 마십시오.

    논리는 다음과 같습니다.

    
    const name  = 'Divyajyoti👩‍💻JS';
    
    module.exports = (req, res) => {
    
        let httpResponse = res;
        twitterClient.get('account/verify_credentials')
                .then((res) => {
    
                    if(!res){
                        httpResponse.status(500).send("Error fetching Twitter Client");
                    }
    
                    const followerCount = res.followers_count;
    
                    const userName = `${name}|${followerCount}`;
    
                    return userName;
                })
                .then((user_name) => {
                    const response = twitterClient.post("account/update_profile", { name: user_name });
    
                    response.then((res) => {
    
                        if(!res){
                            httpResponse.status(500).send("Update error");
                        }else{
                            httpResponse.status(200).send(`Update ${user_name} Success!`);
                        }
                    })
                    .catch((err) => {
                       httpResponse.status(500).send(err);
                    });
                })
                .catch((err) => {
                    httpResponse.status(500).send(err);
                });
    
    };
    

    이러한 검사를 모두 추가하는 것이 제 습관입니다. 원하는 경우 피할 수 있지만 디버깅에 도움이 됩니다.

    숫자 이모지도 원하는 경우 개체 매핑을 만들고 추가하기만 하면 됩니다.

    사용한 이유

    module.exports = (req, res) => {}
    

    Vercel Serverless functions이 그것을 요구하기 때문입니다. vercel이 람다 함수로 식별할 수 있도록 파일을 /api 폴더에 보관하십시오.

    따라서 동적 업데이트를 수행할 API 엔드포인트를 생성한 것처럼 보입니다.

    2 단계:

    이 작업을 올바르게 수행했다면 나머지는 모두 쉬운 일입니다. Github에 프로젝트를 업로드하는 것이 좋습니다. Vercel은 Git 통합이 있는 경우 사용하기 쉽습니다.

    github repo url을 사용하여 프로젝트를 가져오고 환경 변수를 추가하고 배포하십시오!

    vercel에서 제공하는 URL을 엽니다./api가 구성되지 않은 경우 index.js가 아닌 경우/api/추가

    이제 기능 로그로 이동하여 드롭다운에서 기능을 선택합니다. 여기에 API 로그가 표시됩니다.

    URL을 방문하여 본문에 어떤 메시지가 오는지 확인하십시오. 성공하면 트위터 계정에도 변경 사항이 표시됩니다.

    3단계:

    이제 cron 서비스로 업데이트합니다. 변경 사항을 업데이트하기 위해 API를 수동으로 누를 필요가 없습니다. cron이 자동으로 작업을 수행합니다.

    cron-job으로 이동하여 계정을 만드십시오.
    첫 번째 크론 작업을 생성하고 Vercel API URL을 제공하고 기능을 자동으로 실행하고 트위터 이름을 업데이트할 요청을 할 시간 간격을 지정합니다.

    여기서 작업이 완료되었습니다!

    막히거나 질문이 있으면 댓글을 달아주세요!

    다음 기사를 참조했습니다.

  • ~에 의해

  • 의해
  • 좋은 웹페이지 즐겨찾기