나는 어떻게 30분도 안 되는 시간 안에 전보 로봇을 만들어서Gumroad의 판매 상황을 보고했는가!

안녕하세요.👋 주말이 되면 당신들은 반드시 새로운 프로젝트를 찾아서 시작할 것입니다. 곧 포기할 것입니다.알겠습니다!30분 안에 끝낼 수 있다면?그거 좋지 않아요?
잘 왔다.며칠 전에 우리 회사는 리키 유형에 속하는Gumroad 제품을 출시했는데 우리의 판매 목표는'5000'이다.우리는 매일 아침 이런 메시지를 보내기로 했다.

우리는 이것이 우리가 매일 계속 노력하도록 격려할 것이라는 것을 깨달았다.
며칠 동안 순조롭게 지냈고, 우리는 매일 수동으로 하는 것이 전혀 현실적이지 않다는 것을 깨달았다.우리는 확실히 며칠을 잊었다.그리고 나는 내가 보통 하는 일을 했고, 이 과정을 완전히 자동화하는 해결 방안을 찾기 시작했다.
나는 마침내 30분 동안Gumroad API를 이용하여 전보 로봇을 만들고 그 다음 90분 동안 그의 작업 방식, 포함된 소식 등을 윤색했다.

타니시크

API를 만들어서 Heroku에 맡기고 로봇을 만들었습니다. 모든 테스트를 하고 CRON 작업을 추가했습니다. 이 모든 것을 120분 안에 완성했습니다.신기한 기술, 당신이 꿈꾸는 회사를 만들어라!
2020년 12월 18일 오후 17:42
0
7
하지만 걱정 마!나는 이미 이 어려운 일을 완성했기 때문에, 너는 15분도 안 되어 이 일을 완성할 수 있다.
그래서 자신의 전보 로봇을 준비해 자신이 선택한 주파수로 판매 상황을 보고한다.

이 강좌는 당신이 알고 있다고 가정합니다

  • 사소한 골칫거리
  • 익스프레스 및
  • 당신은 Gumroad Account 위에 제품이 하나 있습니다.
  • Heroku 계정이 있습니다. (없으면 만들 수 있습니다.)
  • 만약 위의 모든 테두리가 당신에게 적합하다면, 우리는 그것부터 시작합시다.

    섹션 1 - Express 애플리케이션 생성


    터미널을 열고 먼저 mkdir gumroad-telegram-bot와 명령cd gumroad-telegram-bot && npm init을 사용하여 디렉터리를 만듭니다.디렉터리에 들어가서 npm 설정을 시작합니다.기본 구성이 완료되면 모든 옵션Enter Key을 누릅니다.당신이 가장 좋아하는 코드 편집기에서 폴더를 엽니다.
    일단 코드 편집기에서 프로젝트 폴더를 열면 소프트웨어 패키지를 설치해야 하니 저에게 연락 주십시오.
    통합 코드 단말기에서 다음 명령을 입력하십시오
    npm install express body-parser cors dayjs dotenv node-fetch nodemon telegraf
    
    이러한 패키지는 다음과 같습니다.
  • Express - NodeJS 웹 응용 프로그램을 만드는 프레임워크
  • 경계 해석기 - 중간부품으로 사용
  • cors-크로스 소스 요청에 사용
  • dayjs - 조작 시간의 미니멀리즘 모멘텀js 대체 라이브러리
  • dotenv-저장 및 접근 환경 변수용
  • 노드 수령 - 수령 요청을 만드는 데 사용되며, 필요하면 axios
  • 와 같은 대체 방법을 사용할 수 있습니다.
  • nodemon - 개발 환경에서 사용되며 변경될 때마다 서버를 재부팅
  • telegraf - API에 접근하는 전보 클라이언트
  • 모든 패키지를 설치한 후 루트에 index.js.env라는 파일을 만듭니다.나는 코드에 주석을 써서 그것들을 해석했다.

    색인js


    /*
     * Import All The Packages We Installed
     */
    const express = require('express');
    const fetch = require('node-fetch');
    const cors = require('cors');
    const bodyParser = require('body-parser');
    var dayjs = require('dayjs');
    const { Telegram } = require('telegraf');
    
    /*
     * Requiring ENV file for variables
     */
    require('dotenv').config();
    
    /**
     * Get the mandatory keys to access various platforms
     */
    const tg = new Telegram(process.env.BOTID);
    const API_KEY = process.env.API_KEY;
    const SENDERID = process.env.GROUPID;
    
    /** Initiating the express app */
    const app = express();
    
    /*
     * Configure your express application to use body-parser
     */
    app.use(bodyParser.json());
    app.use(
      bodyParser.urlencoded({
        extended: true,
      })
    );
    
    /** Configure your express application to use CORS  */
    app.use(cors());
    
    /*
     * This function uses the / method API to get the stats
     */
    async function getProducts() {
      const products = await fetch(`https://api.gumroad.com/v2/products`, {
        headers: {
          Authorization: `Bearer ${API_KEY}`,
          'Content-Type': 'application/json',
        },
        method: 'GET',
      });
      return await products.json();
    }
    
    /**
     * These constants are completely made up and 
     * for me to use it in my text! You can change
     * it to anything you like, to compose
     * any message you want.
     */
    
    const started = new Date(2019, 11, 10);
    var startedOn = dayjs(started);
    const today = dayjs();
    const daysSince = startedOn.diff(today, 'day') + 365;
    
    /**
    * The products object which is received as a response from Gumroad API contains various fields. In this tutorial, we have chosen the first product (products[0]) and its sales_count property to display! You can explore the products array to display a whole lot more :)
    */
    
    app.get('/', (req, res) => {
      getProducts().then((products) => {
        const txt = 'Day ' + daysSince * -1 + ': ' + (products.products[0].sales_count) + '/' + 5000; /** Composing the text from above constants */
        tg.sendMessage(SENDERID, txt); /** Sending the composed text using telegraf client */
        /** Once everything is done, send the response to end the api wait */
          res.send({
          sales: products.products[0].sales_count - 1,
          target: 5000,
          startedOn,
          today,
          daysSince: daysSince * -1,
        });
      });
    });
    
    /**
     * Checks if the port is available as a environment variable, if not, allots 3000 
     */
    const port = process.env.PORT || 3000;
    
    app.listen(port, () => {
      console.log(`App Is Running On http://localhost:${port}`);
    });
    
    
    
    이것이 바로 너의 .env 파일의 모습이다
    API_KEY=''
    BOTID=''
    GROUPID=''
    
    이제 나머지 세 항목은 올바른 API 키로 채워집니다.

    제2부분 - 도로 통행 영패 생성


    지금, 네가 이미 이 점을 해냈으니.여기서 출발한 지 5분도 안 된다고 약속할게요.
  • Gumroad 프로필
  • 의 고급 탭으로 이동
  • 애플리케이션 생성
  • 클릭하여 방문 영패 생성
  • 복제된 어플리케이션 키
  • 응용 프로그램 기밀을 .env 파일에 붙여넣으면 필요한 1/3을 완성할 수 있습니다.
    API_KEY='XXXXXXXXXXXX'
    BOTID=''
    GROUPID=''
    
    다음🚀

    제3부분-전보로봇 창설


    재밌는 부분이에요!그것은 인코딩할 필요가 없다.훌륭한 로봇 아빠 덕분이에요.
    갑시다.
  • 텔레그램으로 이동해서BotFather
  • 를 검색하세요.
  • 사용 명령/start 로봇 프로그램 시작
  • 사용 명령/newbot
  • 로봇의 이름을 입력하면 당신이 좋아하는 무엇이든 할 수 있습니다
  • 로봇의 사용자 이름을 입력하십시오. 로봇은 유일해야 하며, 반드시...GumroadBot, 텔레그램Bot 같은 로봇
  • 로봇이 성공적으로 만들어지면 API 키를 제공합니다.

  • 토큰을 복사하여 .env 파일에 붙여넣습니다.
    API_KEY='XXXXXXXXXXXX'
    BOTID='YYYYYYYYYYYYY'
    GROUPID=''
    
    이제 마지막이에요.🥳

    섹션 4 - 메시지를 보낼 그룹 ID/보낸 사람 ID 가져오기


    현재 이 강좌에서 GROUPID를 사용하여 로봇이 한 그룹에서 메시지를 보낼 수 있도록 하겠습니다.
    이 점을 하려면 다음과 같은 절차를 따라야 한다
  • 동료/팀 등과 팀 구성
  • 이 URL[https://api.telegram.org/YYYYYYYYYYYYY]-로 이동합니다.
  • 그룹 ID, 그룹 이름 등을 포함하는 JSON 트리를 볼 수 있습니다

  • 그룹 ID를 복사하여 .env 파일에 추가합니다.
    API_KEY='XXXXXXXXXXXX'
    BOTID='YYYYYYYYYYYYY'
    GROUPID='ZZZZZZZZZZZ'
    
    우리는 이미 수집을 끝냈다!😅
    이제 package.json로 돌아가서 이렇게 설정하세요.
    {
      "name": "gumroad-telegram-bot",
      "version": "1.0.0",
      "description": "for accessing sales and sending to telegram",
      "main": "index.js",
      "scripts": {
        "start": "node index.js",
        "dev": "nodemon index.js",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "body-parser": "^1.19.0",
        "cors": "^2.8.5",
        "dayjs": "^1.9.7",
        "dotenv": "^8.2.0",
        "express": "^4.17.1",
        "moment": "^2.29.1",
        "node-fetch": "^2.6.1",
        "nodemon": "^2.0.6",
        "telegraf": "^3.38.0"
      }
    }
    
    통합 터미널에서 명령npm run dev을 실행하고 path 'https://localhost:3000/'으로 이동해서 로봇을 테스트할 수 있습니다.그것은 자동으로 당신의 그룹에 메시지를 보낼 것입니다!

    이제 자동화합시다.

    5부. - Heroku에서 진행을 합니다.

  • 이것은 상당히 간단한 과정이기 때문에 나는 본 강좌에 소개하여 본 강좌가 길지 않을 것을 확보하려고 하지 않는다.
  • 내가 어떻게 했는지 다음과 같다.
  • Github에 개인 저장소를 만들고 코드를 푸시
  • Heroku 계정을 열고 GitHub을 통해 Deploy
  • 를 사용합니다.
  • 저장소를 가져오면 배치된 응용 프로그램에 Heroku 응용 프로그램 URL을 자동으로 제공합니다.
  • 이 URL을 방문할 때마다 이 그룹에 메시지를 보냅니다.
  • 자세한 내용은 여기Deploy Express To Heroku를 참조하십시오.
    너무 좋아요!맞습니까?

    섹션 6 - 자동 메시지 빈도 설정


    이것은 매우 간단하다, 완두콩!CRON 작업을 사용하여 Heroku URL에 자동 ping을 보냅니다.
  • 액세스EasyCRON
  • 없으면 계정을 만드세요!
  • 클릭하여 새 CRON 작업 작성
  • Heroku URL
  • 을 입력하십시오.
  • 드롭다운 목록에서 간격 선택
  • , 마지막으로 "CRON 작업 만들기"를 클릭합니다.

  • 너의 일은 완성되었다💪 🎉

    섹션 7 - Tanishq 따라가기


    나는 당신이 실제 발표된 부대 항목을 창설할 때 즐겁게 놀기를 바랍니다🤭
    나는 줄곧 그곳에서 건축, 판매와 원물리에 관한 댓글을 올렸다!
    당신이 선택한 시간 간격에 따라 로봇을 만들고 제품의 판매 상황을 보고합니다.당신은 여러 방면을 위해 여러 개의 로봇을 만들 수 있습니다.당신은 알림, 판매 알림 등을 만들 수 있습니다!
    🎉

    좋은 웹페이지 즐겨찾기