나는 어떻게 30분도 안 되는 시간 안에 전보 로봇을 만들어서Gumroad의 판매 상황을 보고했는가!
21822 단어 computersciencenodewebdevjavascript
잘 왔다.며칠 전에 우리 회사는 리키 유형에 속하는Gumroad 제품을 출시했는데 우리의 판매 목표는'5000'이다.우리는 매일 아침 이런 메시지를 보내기로 했다.
우리는 이것이 우리가 매일 계속 노력하도록 격려할 것이라는 것을 깨달았다.
며칠 동안 순조롭게 지냈고, 우리는 매일 수동으로 하는 것이 전혀 현실적이지 않다는 것을 깨달았다.우리는 확실히 며칠을 잊었다.그리고 나는 내가 보통 하는 일을 했고, 이 과정을 완전히 자동화하는 해결 방안을 찾기 시작했다.
나는 마침내 30분 동안Gumroad API를 이용하여 전보 로봇을 만들고 그 다음 90분 동안 그의 작업 방식, 포함된 소식 등을 윤색했다.
타니시크
API를 만들어서 Heroku에 맡기고 로봇을 만들었습니다. 모든 테스트를 하고 CRON 작업을 추가했습니다. 이 모든 것을 120분 안에 완성했습니다.신기한 기술, 당신이 꿈꾸는 회사를 만들어라!
2020년 12월 18일 오후 17:42
0
7
하지만 걱정 마!나는 이미 이 어려운 일을 완성했기 때문에, 너는 15분도 안 되어 이 일을 완성할 수 있다.
그래서 자신의 전보 로봇을 준비해 자신이 선택한 주파수로 판매 상황을 보고한다.
이 강좌는 당신이 알고 있다고 가정합니다
섹션 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
이러한 패키지는 다음과 같습니다.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분도 안 된다고 약속할게요.
.env
파일에 붙여넣으면 필요한 1/3을 완성할 수 있습니다.API_KEY='XXXXXXXXXXXX'
BOTID=''
GROUPID=''
다음🚀제3부분-전보로봇 창설
재밌는 부분이에요!그것은 인코딩할 필요가 없다.훌륭한 로봇 아빠 덕분이에요.
갑시다.
/start
로봇 프로그램 시작/newbot
토큰을 복사하여
.env
파일에 붙여넣습니다.API_KEY='XXXXXXXXXXXX'
BOTID='YYYYYYYYYYYYY'
GROUPID=''
이제 마지막이에요.🥳섹션 4 - 메시지를 보낼 그룹 ID/보낸 사람 ID 가져오기
현재 이 강좌에서 GROUPID를 사용하여 로봇이 한 그룹에서 메시지를 보낼 수 있도록 하겠습니다.
이 점을 하려면 다음과 같은 절차를 따라야 한다
그룹 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에서 진행을 합니다.
너무 좋아요!맞습니까?
섹션 6 - 자동 메시지 빈도 설정
이것은 매우 간단하다, 완두콩!CRON 작업을 사용하여 Heroku URL에 자동 ping을 보냅니다.
너의 일은 완성되었다💪 🎉
섹션 7 - Tanishq 따라가기
나는 당신이 실제 발표된 부대 항목을 창설할 때 즐겁게 놀기를 바랍니다🤭
나는 줄곧 그곳에서 건축, 판매와 원물리에 관한 댓글을 올렸다!
당신이 선택한 시간 간격에 따라 로봇을 만들고 제품의 판매 상황을 보고합니다.당신은 여러 방면을 위해 여러 개의 로봇을 만들 수 있습니다.당신은 알림, 판매 알림 등을 만들 수 있습니다!
🎉
Reference
이 문제에 관하여(나는 어떻게 30분도 안 되는 시간 안에 전보 로봇을 만들어서Gumroad의 판매 상황을 보고했는가!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tanishqxyz/how-i-made-a-telegram-bot-to-report-gumroad-sales-in-less-than-30-mins-53ke텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)