From 697c4f5f7c97d05f56ea8b1bc0f30b1dda30d627 Mon Sep 17 00:00:00 2001 From: TobyG74 Date: Sun, 10 Sep 2023 11:42:51 +0700 Subject: [PATCH] feat: changing the Tiktok API --- .gitignore | 3 ++- .npmignore | 3 ++- src/utils/index.ts | 20 ++++++++++---------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index bac55b1..81c553b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules yarn-lock.json package-lock.json yarn.lock -lib \ No newline at end of file +lib +test.js \ No newline at end of file diff --git a/.npmignore b/.npmignore index 9a2dd12..32749c7 100644 --- a/.npmignore +++ b/.npmignore @@ -5,4 +5,5 @@ package-lock.json tsconfig.json .eslintrc .prettierrc -src \ No newline at end of file +src +test.js \ No newline at end of file diff --git a/src/utils/index.ts b/src/utils/index.ts index b10ab51..1604d8a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,10 +1,9 @@ import axios from "axios" import { load } from "cheerio" -import { DLResult, StalkResult } from "../types" +import { Author, DLResult, StalkResult, Statistics, Stats, Users } from "../types" const _tiktokurl: string = "https://www.tiktok.com" -const _tiktokapi = (id: string): string => - `https://api16-va.tiktokv.com/aweme/v1/feed/?aweme_id=${id}&version_name=1.1.9&version_code=119&build_number=1.1.9&manifest_version_code=119&update_version_code=119&openudid=dlcrw3zg28ajm4ml&uuid=3703699664470627&_rticket=1677813932976&ts=1677813932&device_brand=Realme&device_type=RMX1821&device_platform=android&resolution=720*1370&dpi=320&os_version=11&os_api=30&carrier_region=US&sys_region=US%C2%AEion=US&app_name=TK%20Downloader&app_language=en&language=en&timezone_name=Western%20Indonesia%20Time&timezone_offset=25200&channel=googleplay&ac=wifi&mcc_mnc=&is_my_cn=0&aid=1180&ssmix=a&as=a1qwert123` +const _tiktokapi = (id: string): string => `https://api16-core.tiktokv.com/aweme/v1/feed/?aweme_id=${id}&openudid=vi8vz5c5aec5wllw&uuid=7661132520610792&_rticket=1694319262046&ts=1694319262&device_platform=android&channel=googleplay&ac=wifi` export const TiktokDL = (url: string): Promise => new Promise((resolve, reject) => { @@ -29,7 +28,7 @@ export const TiktokDL = (url: string): Promise => status: "error", message: "Failed to find tiktok data. Make sure your tiktok url is correct!" }) - const statistics = { + const statistics: Statistics = { playCount: content.statistics.play_count, downloadCount: content.statistics.download_count, shareCount: content.statistics.share_count, @@ -37,7 +36,8 @@ export const TiktokDL = (url: string): Promise => likeCount: content.statistics.digg_count, favoriteCount: content.statistics.collect_count } - const author = { + const author: Author = { + uid: content.author.uid, username: content.author.unique_id, nickname: content.author.nickname, signature: content.author.signature, @@ -70,7 +70,7 @@ export const TiktokDL = (url: string): Promise => statistics, video: content.video.play_addr.url_list, cover: content.video.cover.url_list, - dynamic_cover:content.video.dynamic_cover.url_list, + dynamic_cover: content.video.dynamic_cover.url_list, music: content.music.play_url.url_list } }) @@ -78,7 +78,7 @@ export const TiktokDL = (url: string): Promise => }) .catch((e) => resolve({ status: "error", message: e.message })) }) - .catch((e) => resolve({ status: "error", message: e.message })) + .catch((e) => reject(e)) }) export const TiktokStalk = (username: string): Promise => @@ -104,7 +104,7 @@ export const TiktokStalk = (username: string): Promise => }) } const user = result.UserModule - const users = { + const users: Users = { username: user.users[username].uniqueId, nickname: user.users[username].nickname, avatar: user.users[username].avatarLarger, @@ -112,7 +112,7 @@ export const TiktokStalk = (username: string): Promise => verified: user.users[username].verified, region: user.users[username].region } - const stats = { + const stats: Stats = { followerCount: user.stats[username].followerCount, followingCount: user.stats[username].followingCount, heartCount: user.stats[username].heartCount, @@ -129,5 +129,5 @@ export const TiktokStalk = (username: string): Promise => }) .catch((e) => resolve({ status: "error", message: e.message })) }) - .catch((e) => resolve({ status: "error", message: e.message })) + .catch((e) => reject(e)) })