This flow was submitted before accounts existed, so nobody owns it yet. If you submitted it, open the edit link you were given — it still works — and you can attach the flow to an account from there. There is no deadline, and attaching it retires the link for good.
TikTok Follower Count
Tiktok follow counter for Awtrix based on Node-RED
| System | Node-RED |
|---|---|
| Firmware | AWTRIX 3 |
| Topic | Social |
| Built by | Gerbildral |
| File | 98EBYoEk5mwq.json · 4.2 KB |
| Icons | — |
| Published | 31 Jul 2023 |
| Downloads | 22 |
Change the name in the tiktok url with your username ( "https://www.tiktok.com/@PUT_YOUR_NAME_HERE?is_copy_url=1&is_from_webapp=v1" )
Upload icon 35685 to your awtrix
and have fun!
Used the HTTP request url from Brian Lovelace from the tiktok flow for N8N
98EBYoEk5mwq.json
[
{
"id": "be7eac0678c7541a",
"type": "group",
"z": "ee1a663f5b5bc808",
"style": {
"stroke": "#999999",
"stroke-opacity": "1",
"fill": "none",
"fill-opacity": "1",
"label": true,
"label-position": "nw",
"color": "#a4a4a4"
},
"nodes": [
"1ec25cc7113d13b4",
"861b1014c6a8e3c4",
"194793257a10ed28",
"08bed2c4e10cb1aa",
"b70d07cb73054204"
],
"x": 14,
"y": 439,
"w": 972,
"h": 122
},
{
"id": "1ec25cc7113d13b4",
"type": "inject",
"z": "ee1a663f5b5bc808",
"g": "be7eac0678c7541a",
"name": "1x/min",
"props": [],
"repeat": "60",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"x": 120,
"y": 520,
"wires": [
[
"861b1014c6a8e3c4"
]
]
},
{
"id": "861b1014c6a8e3c4",
"type": "http request",
"z": "ee1a663f5b5bc808",
"g": "be7eac0678c7541a",
"name": "",
"method": "GET",
"ret": "txt",
"paytoqs": "query",
"url": "https://www.tiktok.com/@PUT_YOUR_NAME_HERE?is_copy_url=1&is_from_webapp=v1",
"tls": "",
"persist": false,
"proxy": "",
"insecureHTTPParser": false,
"authType": "",
"senderr": false,
"headers": [
{
"keyType": "other",
"keyValue": "User-Agent",
"valueType": "other",
"valueValue": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
}
],
"x": 350,
"y": 520,
"wires": [
[
"194793257a10ed28"
]
]
},
{
"id": "194793257a10ed28",
"type": "function",
"z": "ee1a663f5b5bc808",
"g": "be7eac0678c7541a",
"name": "parser",
"func": "const regex = /<strong title=\"Followers\" data-e2e=\"followers-count\">(\\d+\\.?\\d*[MK]?)<\\/strong>/;\nconst match = regex.exec(msg.payload);\nif (match) {\n const followerCount = parseInt(match[1]);\n msg.payload = followerCount;\n} else {\n msg.payload = \"N/A\";\n}\n\nmsg.payload = { \"text\": String(msg.payload), \"icon\": \"35685\" };\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 570,
"y": 520,
"wires": [
[
"08bed2c4e10cb1aa"
]
]
},
{
"id": "08bed2c4e10cb1aa",
"type": "mqtt out",
"z": "ee1a663f5b5bc808",
"g": "be7eac0678c7541a",
"name": "",
"topic": "awtrix_XXXXXX/custom/tiktok",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "884b2f3733d85479",
"x": 830,
"y": 520,
"wires": []
},
{
"id": "b70d07cb73054204",
"type": "comment",
"z": "ee1a663f5b5bc808",
"g": "be7eac0678c7541a",
"name": "Tiktok Follower",
"info": "",
"x": 120,
"y": 480,
"wires": []
},
{
"id": "884b2f3733d85479",
"type": "mqtt-broker",
"name": "MQTT-Awtrix",
"broker": "localhost",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]