upload-post 2.3.0__tar.gz → 2.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {upload_post-2.3.0 → upload_post-2.5.0}/PKG-INFO +5 -5
- {upload_post-2.3.0 → upload_post-2.5.0}/README.md +4 -4
- {upload_post-2.3.0 → upload_post-2.5.0}/setup.py +1 -1
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post/__init__.py +1 -1
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post/api_client.py +151 -13
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post/cli.py +1 -1
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post.egg-info/PKG-INFO +5 -5
- {upload_post-2.3.0 → upload_post-2.5.0}/setup.cfg +0 -0
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post.egg-info/SOURCES.txt +0 -0
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post.egg-info/dependency_links.txt +0 -0
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post.egg-info/requires.txt +0 -0
- {upload_post-2.3.0 → upload_post-2.5.0}/upload_post.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: upload-post
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.0
|
|
4
4
|
Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)
|
|
5
5
|
Home-page: https://www.upload-post.com/
|
|
6
6
|
Author: Upload-Post
|
|
@@ -40,7 +40,7 @@ Dynamic: summary
|
|
|
40
40
|
|
|
41
41
|
Official Python client for the [Upload-Post API](https://www.upload-post.com) - Cross-platform social media upload.
|
|
42
42
|
|
|
43
|
-
Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram,
|
|
43
|
+
Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter), Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, and Listmonk** with a single API.
|
|
44
44
|
|
|
45
45
|
## Installation
|
|
46
46
|
|
|
@@ -68,9 +68,9 @@ print(response)
|
|
|
68
68
|
|
|
69
69
|
## Features
|
|
70
70
|
|
|
71
|
-
- ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X
|
|
72
|
-
- ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X
|
|
73
|
-
- ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram
|
|
71
|
+
- ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X, Mastodon, WordPress
|
|
72
|
+
- ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X, Mastodon, Lemmy, WordPress
|
|
73
|
+
- ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, Listmonk
|
|
74
74
|
- ✅ **Document Upload** - LinkedIn (PDF, PPT, PPTX, DOC, DOCX)
|
|
75
75
|
- ✅ **Scheduling** - Schedule posts for later
|
|
76
76
|
- ✅ **Posting Queue** - Add posts to your configured queue
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Official Python client for the [Upload-Post API](https://www.upload-post.com) - Cross-platform social media upload.
|
|
4
4
|
|
|
5
|
-
Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram,
|
|
5
|
+
Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter), Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, and Listmonk** with a single API.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -30,9 +30,9 @@ print(response)
|
|
|
30
30
|
|
|
31
31
|
## Features
|
|
32
32
|
|
|
33
|
-
- ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X
|
|
34
|
-
- ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X
|
|
35
|
-
- ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram
|
|
33
|
+
- ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X, Mastodon, WordPress
|
|
34
|
+
- ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X, Mastodon, Lemmy, WordPress
|
|
35
|
+
- ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, Listmonk
|
|
36
36
|
- ✅ **Document Upload** - LinkedIn (PDF, PPT, PPTX, DOC, DOCX)
|
|
37
37
|
- ✅ **Scheduling** - Schedule posts for later
|
|
38
38
|
- ✅ **Posting Queue** - Add posts to your configured queue
|
|
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="upload-post",
|
|
8
|
-
version="2.
|
|
8
|
+
version="2.5.0",
|
|
9
9
|
author="Upload-Post",
|
|
10
10
|
author_email="hi@img2html.com",
|
|
11
11
|
description="Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)",
|
|
@@ -141,7 +141,10 @@ class UploadPostClient:
|
|
|
141
141
|
# Platform-specific title overrides
|
|
142
142
|
title_overrides = [
|
|
143
143
|
"bluesky_title", "instagram_title", "facebook_title", "tiktok_title",
|
|
144
|
-
"linkedin_title", "x_title", "youtube_title", "pinterest_title", "threads_title"
|
|
144
|
+
"linkedin_title", "x_title", "youtube_title", "pinterest_title", "threads_title",
|
|
145
|
+
# New credential-based platforms
|
|
146
|
+
"slack_title", "mastodon_title", "nostr_title", "lemmy_title", "devto_title",
|
|
147
|
+
"hashnode_title", "wordpress_title", "whop_title", "listmonk_title"
|
|
145
148
|
]
|
|
146
149
|
for key in title_overrides:
|
|
147
150
|
if kwargs.get(key):
|
|
@@ -407,7 +410,8 @@ class UploadPostClient:
|
|
|
407
410
|
Optional for TikTok, Instagram, Facebook, LinkedIn, X, Threads, Bluesky, Discord, Telegram, Pinterest.
|
|
408
411
|
user: User identifier (profile name).
|
|
409
412
|
platforms: Target platforms. Supported: tiktok, instagram, youtube,
|
|
410
|
-
linkedin, facebook, pinterest, threads, bluesky, discord, telegram, x
|
|
413
|
+
linkedin, facebook, pinterest, threads, bluesky, discord, telegram, x,
|
|
414
|
+
mastodon, wordpress
|
|
411
415
|
|
|
412
416
|
Keyword Args:
|
|
413
417
|
description: Video description
|
|
@@ -557,7 +561,8 @@ class UploadPostClient:
|
|
|
557
561
|
Optional for TikTok, Instagram, Facebook, LinkedIn, X, Threads, Bluesky, Discord, Telegram, Pinterest.
|
|
558
562
|
user: User identifier (profile name).
|
|
559
563
|
platforms: Target platforms. Supported: tiktok, instagram, linkedin,
|
|
560
|
-
facebook, pinterest, threads, reddit, bluesky, discord, telegram, x
|
|
564
|
+
facebook, pinterest, threads, reddit, bluesky, discord, telegram, x,
|
|
565
|
+
mastodon, lemmy, wordpress
|
|
561
566
|
|
|
562
567
|
Keyword Args:
|
|
563
568
|
description: Photo description
|
|
@@ -691,7 +696,8 @@ class UploadPostClient:
|
|
|
691
696
|
title: Text content for the post.
|
|
692
697
|
user: User identifier (profile name).
|
|
693
698
|
platforms: Target platforms. Supported: x, linkedin, facebook,
|
|
694
|
-
threads, reddit, bluesky, discord, telegram
|
|
699
|
+
threads, reddit, bluesky, discord, telegram, slack, mastodon,
|
|
700
|
+
nostr, lemmy, devto, hashnode, wordpress, whop, listmonk
|
|
695
701
|
|
|
696
702
|
Keyword Args:
|
|
697
703
|
first_comment: First comment to post
|
|
@@ -898,6 +904,53 @@ class UploadPostClient:
|
|
|
898
904
|
"""
|
|
899
905
|
return self._request("/uploadposts/history", "GET", params={"page": page, "limit": limit})
|
|
900
906
|
|
|
907
|
+
def retry_post(
|
|
908
|
+
self,
|
|
909
|
+
request_id: Optional[str] = None,
|
|
910
|
+
job_id: Optional[str] = None
|
|
911
|
+
) -> Dict:
|
|
912
|
+
"""
|
|
913
|
+
Retry a failed post.
|
|
914
|
+
|
|
915
|
+
Args:
|
|
916
|
+
request_id: Request ID of the post to retry.
|
|
917
|
+
job_id: Job ID of the post to retry.
|
|
918
|
+
|
|
919
|
+
One of request_id or job_id is required.
|
|
920
|
+
|
|
921
|
+
Returns:
|
|
922
|
+
Retry result.
|
|
923
|
+
"""
|
|
924
|
+
json_data = {}
|
|
925
|
+
if request_id is not None:
|
|
926
|
+
json_data["request_id"] = request_id
|
|
927
|
+
if job_id is not None:
|
|
928
|
+
json_data["job_id"] = job_id
|
|
929
|
+
return self._request("/uploadposts/posts/retry", "POST", json_data=json_data)
|
|
930
|
+
|
|
931
|
+
def unpublish_post(
|
|
932
|
+
self,
|
|
933
|
+
user: str,
|
|
934
|
+
platform: str,
|
|
935
|
+
post_id: str
|
|
936
|
+
) -> Dict:
|
|
937
|
+
"""
|
|
938
|
+
Unpublish (delete) a previously published post.
|
|
939
|
+
|
|
940
|
+
Args:
|
|
941
|
+
user: Profile username.
|
|
942
|
+
platform: Platform name (facebook, youtube, x, linkedin, threads).
|
|
943
|
+
post_id: ID of the published post to unpublish.
|
|
944
|
+
|
|
945
|
+
Returns:
|
|
946
|
+
Unpublish result.
|
|
947
|
+
"""
|
|
948
|
+
return self._request("/uploadposts/posts/unpublish", "POST", json_data={
|
|
949
|
+
"user": user,
|
|
950
|
+
"platform": platform,
|
|
951
|
+
"post_id": post_id
|
|
952
|
+
})
|
|
953
|
+
|
|
901
954
|
def get_analytics(self, profile_username: str, platforms: Optional[List[str]] = None,
|
|
902
955
|
page_id: Optional[str] = None, page_urn: Optional[str] = None) -> Dict:
|
|
903
956
|
"""
|
|
@@ -907,7 +960,10 @@ class UploadPostClient:
|
|
|
907
960
|
profile_username: Profile username.
|
|
908
961
|
platforms: Filter by platforms (instagram, linkedin, facebook, x, youtube, tiktok, threads, pinterest, reddit).
|
|
909
962
|
page_id: Facebook Page ID (required for Facebook analytics).
|
|
910
|
-
page_urn: LinkedIn page URN
|
|
963
|
+
page_urn: LinkedIn organization/company page URN or numeric ID. LinkedIn
|
|
964
|
+
analytics are only available for pages you administer; personal profiles
|
|
965
|
+
are not supported (LinkedIn's API exposes no member-level analytics). If
|
|
966
|
+
omitted, the first administered organization page is used.
|
|
911
967
|
|
|
912
968
|
Returns:
|
|
913
969
|
Analytics data per platform. For Instagram, the response includes both
|
|
@@ -1285,32 +1341,43 @@ class UploadPostClient:
|
|
|
1285
1341
|
def get_post_comments(
|
|
1286
1342
|
self,
|
|
1287
1343
|
user: str,
|
|
1344
|
+
platform: str = "instagram",
|
|
1288
1345
|
post_id: Optional[str] = None,
|
|
1289
|
-
post_url: Optional[str] = None
|
|
1346
|
+
post_url: Optional[str] = None,
|
|
1347
|
+
limit: Optional[int] = None,
|
|
1348
|
+
after: Optional[str] = None
|
|
1290
1349
|
) -> Dict:
|
|
1291
1350
|
"""
|
|
1292
|
-
Get comments on
|
|
1351
|
+
Get comments on a post.
|
|
1293
1352
|
|
|
1294
1353
|
Args:
|
|
1295
1354
|
user: Profile username.
|
|
1296
|
-
|
|
1297
|
-
|
|
1355
|
+
platform: Platform name (instagram, facebook, youtube, linkedin).
|
|
1356
|
+
post_id: Post/media ID (provide post_id or post_url).
|
|
1357
|
+
post_url: Full post URL (provide post_id or post_url).
|
|
1358
|
+
limit: Maximum number of comments to return.
|
|
1359
|
+
after: Pagination cursor for the next page of comments.
|
|
1298
1360
|
|
|
1299
1361
|
Returns:
|
|
1300
1362
|
Comments data including comment IDs, text, timestamps, and user info.
|
|
1301
1363
|
"""
|
|
1302
|
-
params = {"platform":
|
|
1364
|
+
params = {"platform": platform, "user": user}
|
|
1303
1365
|
if post_id:
|
|
1304
1366
|
params["post_id"] = post_id
|
|
1305
1367
|
if post_url:
|
|
1306
1368
|
params["post_url"] = post_url
|
|
1369
|
+
if limit is not None:
|
|
1370
|
+
params["limit"] = limit
|
|
1371
|
+
if after is not None:
|
|
1372
|
+
params["after"] = after
|
|
1307
1373
|
return self._request("/uploadposts/comments", "GET", params=params)
|
|
1308
1374
|
|
|
1309
1375
|
def reply_to_comment(
|
|
1310
1376
|
self,
|
|
1311
1377
|
user: str,
|
|
1312
1378
|
comment_id: str,
|
|
1313
|
-
message: str
|
|
1379
|
+
message: str,
|
|
1380
|
+
buttons: Optional[List[Dict]] = None
|
|
1314
1381
|
) -> Dict:
|
|
1315
1382
|
"""
|
|
1316
1383
|
Send a private reply (DM) to the author of an Instagram comment.
|
|
@@ -1319,16 +1386,21 @@ class UploadPostClient:
|
|
|
1319
1386
|
user: Profile username.
|
|
1320
1387
|
comment_id: Comment ID from get_post_comments.
|
|
1321
1388
|
message: Reply message text.
|
|
1389
|
+
buttons: Optional list of web_url buttons (max 3) rendered in the Instagram
|
|
1390
|
+
DM. Each item is a dict like {"title": "Open", "url": "https://..."}.
|
|
1322
1391
|
|
|
1323
1392
|
Returns:
|
|
1324
1393
|
Reply result with recipient_id and message_id.
|
|
1325
1394
|
"""
|
|
1326
|
-
|
|
1395
|
+
json_data = {
|
|
1327
1396
|
"platform": "instagram",
|
|
1328
1397
|
"user": user,
|
|
1329
1398
|
"comment_id": comment_id,
|
|
1330
1399
|
"message": message
|
|
1331
|
-
}
|
|
1400
|
+
}
|
|
1401
|
+
if buttons is not None:
|
|
1402
|
+
json_data["buttons"] = buttons
|
|
1403
|
+
return self._request("/uploadposts/comments/reply", "POST", json_data=json_data)
|
|
1332
1404
|
|
|
1333
1405
|
def public_reply_to_comment(
|
|
1334
1406
|
self,
|
|
@@ -1354,6 +1426,72 @@ class UploadPostClient:
|
|
|
1354
1426
|
"message": message
|
|
1355
1427
|
})
|
|
1356
1428
|
|
|
1429
|
+
def create_comment(
|
|
1430
|
+
self,
|
|
1431
|
+
user: str,
|
|
1432
|
+
platform: str,
|
|
1433
|
+
message: str,
|
|
1434
|
+
post_id: Optional[str] = None,
|
|
1435
|
+
post_url: Optional[str] = None,
|
|
1436
|
+
comment_id: Optional[str] = None
|
|
1437
|
+
) -> Dict:
|
|
1438
|
+
"""
|
|
1439
|
+
Create a comment on a post, or reply to an existing comment.
|
|
1440
|
+
|
|
1441
|
+
Args:
|
|
1442
|
+
user: Profile username.
|
|
1443
|
+
platform: Platform name (instagram, facebook, youtube, linkedin).
|
|
1444
|
+
message: Comment text.
|
|
1445
|
+
post_id: Post/media ID to comment on.
|
|
1446
|
+
post_url: Full post URL to comment on.
|
|
1447
|
+
comment_id: Existing comment ID to reply to.
|
|
1448
|
+
|
|
1449
|
+
One of post_id, post_url or comment_id is required.
|
|
1450
|
+
|
|
1451
|
+
Returns:
|
|
1452
|
+
Creation result with the new comment ID.
|
|
1453
|
+
"""
|
|
1454
|
+
json_data = {
|
|
1455
|
+
"platform": platform,
|
|
1456
|
+
"user": user,
|
|
1457
|
+
"message": message
|
|
1458
|
+
}
|
|
1459
|
+
if post_id is not None:
|
|
1460
|
+
json_data["post_id"] = post_id
|
|
1461
|
+
if post_url is not None:
|
|
1462
|
+
json_data["post_url"] = post_url
|
|
1463
|
+
if comment_id is not None:
|
|
1464
|
+
json_data["comment_id"] = comment_id
|
|
1465
|
+
return self._request("/uploadposts/comments/create", "POST", json_data=json_data)
|
|
1466
|
+
|
|
1467
|
+
def delete_comment(
|
|
1468
|
+
self,
|
|
1469
|
+
user: str,
|
|
1470
|
+
platform: str,
|
|
1471
|
+
comment_id: str,
|
|
1472
|
+
post_id: Optional[str] = None
|
|
1473
|
+
) -> Dict:
|
|
1474
|
+
"""
|
|
1475
|
+
Delete a comment on a post.
|
|
1476
|
+
|
|
1477
|
+
Args:
|
|
1478
|
+
user: Profile username.
|
|
1479
|
+
platform: Platform name (instagram, facebook, youtube, linkedin).
|
|
1480
|
+
comment_id: Comment ID to delete.
|
|
1481
|
+
post_id: Post URN (required for LinkedIn).
|
|
1482
|
+
|
|
1483
|
+
Returns:
|
|
1484
|
+
Deletion result.
|
|
1485
|
+
"""
|
|
1486
|
+
json_data = {
|
|
1487
|
+
"platform": platform,
|
|
1488
|
+
"user": user,
|
|
1489
|
+
"comment_id": comment_id
|
|
1490
|
+
}
|
|
1491
|
+
if post_id is not None:
|
|
1492
|
+
json_data["post_id"] = post_id
|
|
1493
|
+
return self._request("/uploadposts/comments/delete", "DELETE", json_data=json_data)
|
|
1494
|
+
|
|
1357
1495
|
# ==================== Google Business ====================
|
|
1358
1496
|
|
|
1359
1497
|
def get_google_business_locations(self, profile: Optional[str] = None) -> Dict:
|
|
@@ -18,7 +18,7 @@ def main():
|
|
|
18
18
|
"--platforms",
|
|
19
19
|
nargs="+",
|
|
20
20
|
required=True,
|
|
21
|
-
choices=["tiktok", "instagram", "linkedin", "youtube", "facebook", "x", "threads", "pinterest", "discord", "telegram"],
|
|
21
|
+
choices=["tiktok", "instagram", "linkedin", "youtube", "facebook", "x", "threads", "pinterest", "bluesky", "discord", "telegram", "mastodon", "wordpress"],
|
|
22
22
|
help="Platforms to upload to. For platform-specific parameters, please use the Python API."
|
|
23
23
|
)
|
|
24
24
|
parser.add_argument(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: upload-post
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.0
|
|
4
4
|
Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)
|
|
5
5
|
Home-page: https://www.upload-post.com/
|
|
6
6
|
Author: Upload-Post
|
|
@@ -40,7 +40,7 @@ Dynamic: summary
|
|
|
40
40
|
|
|
41
41
|
Official Python client for the [Upload-Post API](https://www.upload-post.com) - Cross-platform social media upload.
|
|
42
42
|
|
|
43
|
-
Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram,
|
|
43
|
+
Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter), Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, and Listmonk** with a single API.
|
|
44
44
|
|
|
45
45
|
## Installation
|
|
46
46
|
|
|
@@ -68,9 +68,9 @@ print(response)
|
|
|
68
68
|
|
|
69
69
|
## Features
|
|
70
70
|
|
|
71
|
-
- ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X
|
|
72
|
-
- ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X
|
|
73
|
-
- ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram
|
|
71
|
+
- ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X, Mastodon, WordPress
|
|
72
|
+
- ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X, Mastodon, Lemmy, WordPress
|
|
73
|
+
- ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, Listmonk
|
|
74
74
|
- ✅ **Document Upload** - LinkedIn (PDF, PPT, PPTX, DOC, DOCX)
|
|
75
75
|
- ✅ **Scheduling** - Schedule posts for later
|
|
76
76
|
- ✅ **Posting Queue** - Add posts to your configured queue
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|