@jackwener/opencli 0.6.2 → 0.7.0
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.
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/SKILL.md +7 -2
- package/dist/build-manifest.js +2 -0
- package/dist/cli-manifest.json +723 -104
- package/dist/clis/boss/detail.d.ts +1 -0
- package/dist/clis/boss/detail.js +104 -0
- package/dist/clis/boss/search.js +2 -1
- package/dist/clis/reddit/comment.d.ts +1 -0
- package/dist/clis/reddit/comment.js +57 -0
- package/dist/clis/reddit/popular.yaml +40 -0
- package/dist/clis/reddit/read.yaml +76 -0
- package/dist/clis/reddit/save.d.ts +1 -0
- package/dist/clis/reddit/save.js +51 -0
- package/dist/clis/reddit/saved.d.ts +1 -0
- package/dist/clis/reddit/saved.js +46 -0
- package/dist/clis/reddit/search.yaml +37 -11
- package/dist/clis/reddit/subreddit.yaml +14 -4
- package/dist/clis/reddit/subscribe.d.ts +1 -0
- package/dist/clis/reddit/subscribe.js +50 -0
- package/dist/clis/reddit/upvote.d.ts +1 -0
- package/dist/clis/reddit/upvote.js +64 -0
- package/dist/clis/reddit/upvoted.d.ts +1 -0
- package/dist/clis/reddit/upvoted.js +46 -0
- package/dist/clis/reddit/user-comments.yaml +45 -0
- package/dist/clis/reddit/user-posts.yaml +43 -0
- package/dist/clis/reddit/user.yaml +39 -0
- package/dist/clis/twitter/article.d.ts +1 -0
- package/dist/clis/twitter/article.js +157 -0
- package/dist/clis/twitter/bookmark.d.ts +1 -0
- package/dist/clis/twitter/bookmark.js +63 -0
- package/dist/clis/twitter/follow.d.ts +1 -0
- package/dist/clis/twitter/follow.js +65 -0
- package/dist/clis/twitter/profile.js +110 -42
- package/dist/clis/twitter/thread.d.ts +1 -0
- package/dist/clis/twitter/thread.js +150 -0
- package/dist/clis/twitter/unbookmark.d.ts +1 -0
- package/dist/clis/twitter/unbookmark.js +62 -0
- package/dist/clis/twitter/unfollow.d.ts +1 -0
- package/dist/clis/twitter/unfollow.js +71 -0
- package/dist/main.js +31 -8
- package/dist/registry.d.ts +1 -0
- package/package.json +1 -1
- package/src/build-manifest.ts +3 -0
- package/src/clis/boss/detail.ts +115 -0
- package/src/clis/boss/search.ts +2 -1
- package/src/clis/reddit/comment.ts +60 -0
- package/src/clis/reddit/popular.yaml +40 -0
- package/src/clis/reddit/read.yaml +76 -0
- package/src/clis/reddit/save.ts +54 -0
- package/src/clis/reddit/saved.ts +48 -0
- package/src/clis/reddit/search.yaml +37 -11
- package/src/clis/reddit/subreddit.yaml +14 -4
- package/src/clis/reddit/subscribe.ts +53 -0
- package/src/clis/reddit/upvote.ts +67 -0
- package/src/clis/reddit/upvoted.ts +48 -0
- package/src/clis/reddit/user-comments.yaml +45 -0
- package/src/clis/reddit/user-posts.yaml +43 -0
- package/src/clis/reddit/user.yaml +39 -0
- package/src/clis/twitter/article.ts +161 -0
- package/src/clis/twitter/bookmark.ts +67 -0
- package/src/clis/twitter/follow.ts +69 -0
- package/src/clis/twitter/profile.ts +113 -45
- package/src/clis/twitter/thread.ts +181 -0
- package/src/clis/twitter/unbookmark.ts +66 -0
- package/src/clis/twitter/unfollow.ts +75 -0
- package/src/main.ts +24 -5
- package/src/registry.ts +1 -0
package/dist/cli-manifest.json
CHANGED
|
@@ -392,6 +392,44 @@
|
|
|
392
392
|
"url"
|
|
393
393
|
]
|
|
394
394
|
},
|
|
395
|
+
{
|
|
396
|
+
"site": "boss",
|
|
397
|
+
"name": "detail",
|
|
398
|
+
"description": "BOSS直聘查看职位详情",
|
|
399
|
+
"strategy": "cookie",
|
|
400
|
+
"browser": true,
|
|
401
|
+
"args": [
|
|
402
|
+
{
|
|
403
|
+
"name": "security_id",
|
|
404
|
+
"type": "str",
|
|
405
|
+
"required": true,
|
|
406
|
+
"help": "Security ID from search results (securityId field)"
|
|
407
|
+
}
|
|
408
|
+
],
|
|
409
|
+
"type": "ts",
|
|
410
|
+
"modulePath": "boss/detail.js",
|
|
411
|
+
"domain": "www.zhipin.com",
|
|
412
|
+
"columns": [
|
|
413
|
+
"name",
|
|
414
|
+
"salary",
|
|
415
|
+
"experience",
|
|
416
|
+
"degree",
|
|
417
|
+
"city",
|
|
418
|
+
"district",
|
|
419
|
+
"description",
|
|
420
|
+
"skills",
|
|
421
|
+
"welfare",
|
|
422
|
+
"boss_name",
|
|
423
|
+
"boss_title",
|
|
424
|
+
"active_time",
|
|
425
|
+
"company",
|
|
426
|
+
"industry",
|
|
427
|
+
"scale",
|
|
428
|
+
"stage",
|
|
429
|
+
"address",
|
|
430
|
+
"url"
|
|
431
|
+
]
|
|
432
|
+
},
|
|
395
433
|
{
|
|
396
434
|
"site": "boss",
|
|
397
435
|
"name": "search",
|
|
@@ -467,6 +505,7 @@
|
|
|
467
505
|
"degree",
|
|
468
506
|
"skills",
|
|
469
507
|
"boss",
|
|
508
|
+
"security_id",
|
|
470
509
|
"url"
|
|
471
510
|
]
|
|
472
511
|
},
|
|
@@ -636,16 +675,494 @@
|
|
|
636
675
|
}
|
|
637
676
|
},
|
|
638
677
|
{
|
|
639
|
-
"limit": "${{ args.limit }}"
|
|
678
|
+
"limit": "${{ args.limit }}"
|
|
679
|
+
}
|
|
680
|
+
],
|
|
681
|
+
"type": "yaml"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"site": "reddit",
|
|
685
|
+
"name": "comment",
|
|
686
|
+
"description": "Post a comment on a Reddit post",
|
|
687
|
+
"strategy": "cookie",
|
|
688
|
+
"browser": true,
|
|
689
|
+
"args": [
|
|
690
|
+
{
|
|
691
|
+
"name": "post_id",
|
|
692
|
+
"type": "string",
|
|
693
|
+
"required": true,
|
|
694
|
+
"help": "Post ID (e.g. 1abc123) or fullname (t3_xxx)"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"name": "text",
|
|
698
|
+
"type": "string",
|
|
699
|
+
"required": true,
|
|
700
|
+
"help": "Comment text"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"type": "ts",
|
|
704
|
+
"modulePath": "reddit/comment.js",
|
|
705
|
+
"domain": "reddit.com",
|
|
706
|
+
"columns": [
|
|
707
|
+
"status",
|
|
708
|
+
"message"
|
|
709
|
+
]
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"site": "reddit",
|
|
713
|
+
"name": "frontpage",
|
|
714
|
+
"description": "Reddit Frontpage / r/all",
|
|
715
|
+
"domain": "reddit.com",
|
|
716
|
+
"strategy": "cookie",
|
|
717
|
+
"browser": true,
|
|
718
|
+
"args": [
|
|
719
|
+
{
|
|
720
|
+
"name": "limit",
|
|
721
|
+
"type": "int",
|
|
722
|
+
"default": 15,
|
|
723
|
+
"required": false,
|
|
724
|
+
"help": ""
|
|
725
|
+
}
|
|
726
|
+
],
|
|
727
|
+
"columns": [
|
|
728
|
+
"title",
|
|
729
|
+
"subreddit",
|
|
730
|
+
"author",
|
|
731
|
+
"upvotes",
|
|
732
|
+
"comments",
|
|
733
|
+
"url"
|
|
734
|
+
],
|
|
735
|
+
"pipeline": [
|
|
736
|
+
{
|
|
737
|
+
"navigate": "https://www.reddit.com"
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"evaluate": "(async () => {\n const res = await fetch('/r/all.json?limit=${{ args.limit }}', { credentials: 'include' });\n const j = await res.json();\n return j?.data?.children || [];\n})()\n"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"map": {
|
|
744
|
+
"title": "${{ item.data.title }}",
|
|
745
|
+
"subreddit": "${{ item.data.subreddit_name_prefixed }}",
|
|
746
|
+
"author": "${{ item.data.author }}",
|
|
747
|
+
"upvotes": "${{ item.data.score }}",
|
|
748
|
+
"comments": "${{ item.data.num_comments }}",
|
|
749
|
+
"url": "https://www.reddit.com${{ item.data.permalink }}"
|
|
750
|
+
}
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"limit": "${{ args.limit }}"
|
|
754
|
+
}
|
|
755
|
+
],
|
|
756
|
+
"type": "yaml"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"site": "reddit",
|
|
760
|
+
"name": "hot",
|
|
761
|
+
"description": "Reddit 热门帖子",
|
|
762
|
+
"domain": "www.reddit.com",
|
|
763
|
+
"strategy": "cookie",
|
|
764
|
+
"browser": true,
|
|
765
|
+
"args": [
|
|
766
|
+
{
|
|
767
|
+
"name": "subreddit",
|
|
768
|
+
"type": "str",
|
|
769
|
+
"default": "",
|
|
770
|
+
"required": false,
|
|
771
|
+
"help": "Subreddit name (e.g. programming). Empty for frontpage"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"name": "limit",
|
|
775
|
+
"type": "int",
|
|
776
|
+
"default": 20,
|
|
777
|
+
"required": false,
|
|
778
|
+
"help": "Number of posts"
|
|
779
|
+
}
|
|
780
|
+
],
|
|
781
|
+
"columns": [
|
|
782
|
+
"rank",
|
|
783
|
+
"title",
|
|
784
|
+
"subreddit",
|
|
785
|
+
"score",
|
|
786
|
+
"comments"
|
|
787
|
+
],
|
|
788
|
+
"pipeline": [
|
|
789
|
+
{
|
|
790
|
+
"navigate": "https://www.reddit.com"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"evaluate": "(async () => {\n const sub = ${{ args.subreddit | json }};\n const path = sub ? '/r/' + sub + '/hot.json' : '/hot.json';\n const limit = ${{ args.limit }};\n const res = await fetch(path + '?limit=' + limit + '&raw_json=1', {\n credentials: 'include'\n });\n const d = await res.json();\n return (d?.data?.children || []).map(c => ({\n title: c.data.title,\n subreddit: c.data.subreddit_name_prefixed,\n score: c.data.score,\n comments: c.data.num_comments,\n author: c.data.author,\n url: 'https://www.reddit.com' + c.data.permalink,\n }));\n})()\n"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"map": {
|
|
797
|
+
"rank": "${{ index + 1 }}",
|
|
798
|
+
"title": "${{ item.title }}",
|
|
799
|
+
"subreddit": "${{ item.subreddit }}",
|
|
800
|
+
"score": "${{ item.score }}",
|
|
801
|
+
"comments": "${{ item.comments }}"
|
|
802
|
+
}
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"limit": "${{ args.limit }}"
|
|
806
|
+
}
|
|
807
|
+
],
|
|
808
|
+
"type": "yaml"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"site": "reddit",
|
|
812
|
+
"name": "popular",
|
|
813
|
+
"description": "Reddit Popular posts (/r/popular)",
|
|
814
|
+
"domain": "reddit.com",
|
|
815
|
+
"strategy": "cookie",
|
|
816
|
+
"browser": true,
|
|
817
|
+
"args": [
|
|
818
|
+
{
|
|
819
|
+
"name": "limit",
|
|
820
|
+
"type": "int",
|
|
821
|
+
"default": 20,
|
|
822
|
+
"required": false,
|
|
823
|
+
"help": ""
|
|
824
|
+
}
|
|
825
|
+
],
|
|
826
|
+
"columns": [
|
|
827
|
+
"rank",
|
|
828
|
+
"title",
|
|
829
|
+
"subreddit",
|
|
830
|
+
"score",
|
|
831
|
+
"comments",
|
|
832
|
+
"url"
|
|
833
|
+
],
|
|
834
|
+
"pipeline": [
|
|
835
|
+
{
|
|
836
|
+
"navigate": "https://www.reddit.com"
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"evaluate": "(async () => {\n const limit = ${{ args.limit }};\n const res = await fetch('/r/popular.json?limit=' + limit + '&raw_json=1', {\n credentials: 'include'\n });\n const d = await res.json();\n return (d?.data?.children || []).map(c => ({\n title: c.data.title,\n subreddit: c.data.subreddit_name_prefixed,\n score: c.data.score,\n comments: c.data.num_comments,\n author: c.data.author,\n url: 'https://www.reddit.com' + c.data.permalink,\n }));\n})()\n"
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"map": {
|
|
843
|
+
"rank": "${{ index + 1 }}",
|
|
844
|
+
"title": "${{ item.title }}",
|
|
845
|
+
"subreddit": "${{ item.subreddit }}",
|
|
846
|
+
"score": "${{ item.score }}",
|
|
847
|
+
"comments": "${{ item.comments }}",
|
|
848
|
+
"url": "${{ item.url }}"
|
|
849
|
+
}
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"limit": "${{ args.limit }}"
|
|
853
|
+
}
|
|
854
|
+
],
|
|
855
|
+
"type": "yaml"
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"site": "reddit",
|
|
859
|
+
"name": "read",
|
|
860
|
+
"description": "Read a Reddit post and its comments",
|
|
861
|
+
"domain": "reddit.com",
|
|
862
|
+
"strategy": "cookie",
|
|
863
|
+
"browser": true,
|
|
864
|
+
"args": [
|
|
865
|
+
{
|
|
866
|
+
"name": "post_id",
|
|
867
|
+
"type": "string",
|
|
868
|
+
"required": true,
|
|
869
|
+
"help": "Post ID (e.g. 1abc123) or full URL"
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"name": "sort",
|
|
873
|
+
"type": "string",
|
|
874
|
+
"default": "best",
|
|
875
|
+
"required": false,
|
|
876
|
+
"help": "Comment sort: best, top, new, controversial, old, qa"
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"name": "limit",
|
|
880
|
+
"type": "int",
|
|
881
|
+
"default": 25,
|
|
882
|
+
"required": false,
|
|
883
|
+
"help": "Number of top-level comments to fetch"
|
|
884
|
+
}
|
|
885
|
+
],
|
|
886
|
+
"columns": [
|
|
887
|
+
"type",
|
|
888
|
+
"author",
|
|
889
|
+
"score",
|
|
890
|
+
"text"
|
|
891
|
+
],
|
|
892
|
+
"pipeline": [
|
|
893
|
+
{
|
|
894
|
+
"navigate": "https://www.reddit.com"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"evaluate": "(async () => {\n let postId = ${{ args.post_id | json }};\n const urlMatch = postId.match(/comments\\/([a-z0-9]+)/);\n if (urlMatch) postId = urlMatch[1];\n\n const sort = ${{ args.sort | json }};\n const limit = ${{ args.limit }};\n const res = await fetch('/comments/' + postId + '.json?sort=' + sort + '&limit=' + limit + '&raw_json=1', {\n credentials: 'include'\n });\n const data = await res.json();\n if (!Array.isArray(data) || data.length < 1) return [];\n\n const results = [];\n\n // First element: post itself\n const post = data[0]?.data?.children?.[0]?.data;\n if (post) {\n let body = post.selftext || '';\n if (body.length > 2000) body = body.slice(0, 2000) + '\\n... [truncated]';\n results.push({\n type: '📰 POST',\n author: post.author,\n score: post.score,\n text: post.title + (body ? '\\n\\n' + body : '') + (post.url && !post.is_self ? '\\n🔗 ' + post.url : ''),\n });\n }\n\n // Second element: comments\n const comments = data[1]?.data?.children || [];\n for (const c of comments) {\n if (c.kind !== 't1') continue;\n const d = c.data;\n let body = d.body || '';\n if (body.length > 500) body = body.slice(0, 500) + '...';\n results.push({\n type: '💬 COMMENT',\n author: d.author || '[deleted]',\n score: d.score || 0,\n text: body,\n });\n }\n\n return results;\n})()\n"
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"map": {
|
|
901
|
+
"type": "${{ item.type }}",
|
|
902
|
+
"author": "${{ item.author }}",
|
|
903
|
+
"score": "${{ item.score }}",
|
|
904
|
+
"text": "${{ item.text }}"
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
],
|
|
908
|
+
"type": "yaml"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"site": "reddit",
|
|
912
|
+
"name": "save",
|
|
913
|
+
"description": "Save or unsave a Reddit post",
|
|
914
|
+
"strategy": "cookie",
|
|
915
|
+
"browser": true,
|
|
916
|
+
"args": [
|
|
917
|
+
{
|
|
918
|
+
"name": "post_id",
|
|
919
|
+
"type": "string",
|
|
920
|
+
"required": true,
|
|
921
|
+
"help": "Post ID (e.g. 1abc123) or fullname (t3_xxx)"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"name": "undo",
|
|
925
|
+
"type": "boolean",
|
|
926
|
+
"default": false,
|
|
927
|
+
"required": false,
|
|
928
|
+
"help": "Unsave instead of save"
|
|
929
|
+
}
|
|
930
|
+
],
|
|
931
|
+
"type": "ts",
|
|
932
|
+
"modulePath": "reddit/save.js",
|
|
933
|
+
"domain": "reddit.com",
|
|
934
|
+
"columns": [
|
|
935
|
+
"status",
|
|
936
|
+
"message"
|
|
937
|
+
]
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"site": "reddit",
|
|
941
|
+
"name": "saved",
|
|
942
|
+
"description": "Browse your saved Reddit posts",
|
|
943
|
+
"strategy": "cookie",
|
|
944
|
+
"browser": true,
|
|
945
|
+
"args": [
|
|
946
|
+
{
|
|
947
|
+
"name": "limit",
|
|
948
|
+
"type": "int",
|
|
949
|
+
"default": 15,
|
|
950
|
+
"required": false,
|
|
951
|
+
"help": ""
|
|
952
|
+
}
|
|
953
|
+
],
|
|
954
|
+
"type": "ts",
|
|
955
|
+
"modulePath": "reddit/saved.js",
|
|
956
|
+
"domain": "reddit.com",
|
|
957
|
+
"columns": [
|
|
958
|
+
"title",
|
|
959
|
+
"subreddit",
|
|
960
|
+
"score",
|
|
961
|
+
"comments",
|
|
962
|
+
"url"
|
|
963
|
+
]
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"site": "reddit",
|
|
967
|
+
"name": "search",
|
|
968
|
+
"description": "Search Reddit Posts",
|
|
969
|
+
"domain": "reddit.com",
|
|
970
|
+
"strategy": "cookie",
|
|
971
|
+
"browser": true,
|
|
972
|
+
"args": [
|
|
973
|
+
{
|
|
974
|
+
"name": "query",
|
|
975
|
+
"type": "string",
|
|
976
|
+
"required": true,
|
|
977
|
+
"help": ""
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"name": "subreddit",
|
|
981
|
+
"type": "string",
|
|
982
|
+
"default": "",
|
|
983
|
+
"required": false,
|
|
984
|
+
"help": "Search within a specific subreddit"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"name": "sort",
|
|
988
|
+
"type": "string",
|
|
989
|
+
"default": "relevance",
|
|
990
|
+
"required": false,
|
|
991
|
+
"help": "Sort order: relevance, hot, top, new, comments"
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"name": "time",
|
|
995
|
+
"type": "string",
|
|
996
|
+
"default": "all",
|
|
997
|
+
"required": false,
|
|
998
|
+
"help": "Time filter: hour, day, week, month, year, all"
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"name": "limit",
|
|
1002
|
+
"type": "int",
|
|
1003
|
+
"default": 15,
|
|
1004
|
+
"required": false,
|
|
1005
|
+
"help": ""
|
|
1006
|
+
}
|
|
1007
|
+
],
|
|
1008
|
+
"columns": [
|
|
1009
|
+
"title",
|
|
1010
|
+
"subreddit",
|
|
1011
|
+
"author",
|
|
1012
|
+
"score",
|
|
1013
|
+
"comments",
|
|
1014
|
+
"url"
|
|
1015
|
+
],
|
|
1016
|
+
"pipeline": [
|
|
1017
|
+
{
|
|
1018
|
+
"navigate": "https://www.reddit.com"
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
"evaluate": "(async () => {\n const q = encodeURIComponent(${{ args.query | json }});\n const sub = ${{ args.subreddit | json }};\n const sort = ${{ args.sort | json }};\n const time = ${{ args.time | json }};\n const limit = ${{ args.limit }};\n const basePath = sub ? '/r/' + sub + '/search.json' : '/search.json';\n const params = 'q=' + q + '&sort=' + sort + '&t=' + time + '&limit=' + limit\n + '&restrict_sr=' + (sub ? 'on' : 'off') + '&raw_json=1';\n const res = await fetch(basePath + '?' + params, { credentials: 'include' });\n const d = await res.json();\n return (d?.data?.children || []).map(c => ({\n title: c.data.title,\n subreddit: c.data.subreddit_name_prefixed,\n author: c.data.author,\n score: c.data.score,\n comments: c.data.num_comments,\n url: 'https://www.reddit.com' + c.data.permalink,\n }));\n})()\n"
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"map": {
|
|
1025
|
+
"title": "${{ item.title }}",
|
|
1026
|
+
"subreddit": "${{ item.subreddit }}",
|
|
1027
|
+
"author": "${{ item.author }}",
|
|
1028
|
+
"score": "${{ item.score }}",
|
|
1029
|
+
"comments": "${{ item.comments }}",
|
|
1030
|
+
"url": "${{ item.url }}"
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"limit": "${{ args.limit }}"
|
|
1035
|
+
}
|
|
1036
|
+
],
|
|
1037
|
+
"type": "yaml"
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"site": "reddit",
|
|
1041
|
+
"name": "subreddit",
|
|
1042
|
+
"description": "Get posts from a specific Subreddit",
|
|
1043
|
+
"domain": "reddit.com",
|
|
1044
|
+
"strategy": "cookie",
|
|
1045
|
+
"browser": true,
|
|
1046
|
+
"args": [
|
|
1047
|
+
{
|
|
1048
|
+
"name": "name",
|
|
1049
|
+
"type": "string",
|
|
1050
|
+
"required": true,
|
|
1051
|
+
"help": ""
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"name": "sort",
|
|
1055
|
+
"type": "string",
|
|
1056
|
+
"default": "hot",
|
|
1057
|
+
"required": false,
|
|
1058
|
+
"help": "Sorting method: hot, new, top, rising, controversial"
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
"name": "time",
|
|
1062
|
+
"type": "string",
|
|
1063
|
+
"default": "all",
|
|
1064
|
+
"required": false,
|
|
1065
|
+
"help": "Time filter for top/controversial: hour, day, week, month, year, all"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"name": "limit",
|
|
1069
|
+
"type": "int",
|
|
1070
|
+
"default": 15,
|
|
1071
|
+
"required": false,
|
|
1072
|
+
"help": ""
|
|
1073
|
+
}
|
|
1074
|
+
],
|
|
1075
|
+
"columns": [
|
|
1076
|
+
"title",
|
|
1077
|
+
"author",
|
|
1078
|
+
"upvotes",
|
|
1079
|
+
"comments",
|
|
1080
|
+
"url"
|
|
1081
|
+
],
|
|
1082
|
+
"pipeline": [
|
|
1083
|
+
{
|
|
1084
|
+
"navigate": "https://www.reddit.com"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"evaluate": "(async () => {\n let sub = ${{ args.name | json }};\n if (sub.startsWith('r/')) sub = sub.slice(2);\n const sort = ${{ args.sort | json }};\n const time = ${{ args.time | json }};\n const limit = ${{ args.limit }};\n let url = '/r/' + sub + '/' + sort + '.json?limit=' + limit + '&raw_json=1';\n if ((sort === 'top' || sort === 'controversial') && time) {\n url += '&t=' + time;\n }\n const res = await fetch(url, { credentials: 'include' });\n const j = await res.json();\n return j?.data?.children || [];\n})()\n"
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"map": {
|
|
1091
|
+
"title": "${{ item.data.title }}",
|
|
1092
|
+
"author": "${{ item.data.author }}",
|
|
1093
|
+
"upvotes": "${{ item.data.score }}",
|
|
1094
|
+
"comments": "${{ item.data.num_comments }}",
|
|
1095
|
+
"url": "https://www.reddit.com${{ item.data.permalink }}"
|
|
1096
|
+
}
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"limit": "${{ args.limit }}"
|
|
1100
|
+
}
|
|
1101
|
+
],
|
|
1102
|
+
"type": "yaml"
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"site": "reddit",
|
|
1106
|
+
"name": "subscribe",
|
|
1107
|
+
"description": "Subscribe or unsubscribe to a subreddit",
|
|
1108
|
+
"strategy": "cookie",
|
|
1109
|
+
"browser": true,
|
|
1110
|
+
"args": [
|
|
1111
|
+
{
|
|
1112
|
+
"name": "subreddit",
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"required": true,
|
|
1115
|
+
"help": "Subreddit name (e.g. python)"
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
"name": "undo",
|
|
1119
|
+
"type": "boolean",
|
|
1120
|
+
"default": false,
|
|
1121
|
+
"required": false,
|
|
1122
|
+
"help": "Unsubscribe instead of subscribe"
|
|
1123
|
+
}
|
|
1124
|
+
],
|
|
1125
|
+
"type": "ts",
|
|
1126
|
+
"modulePath": "reddit/subscribe.js",
|
|
1127
|
+
"domain": "reddit.com",
|
|
1128
|
+
"columns": [
|
|
1129
|
+
"status",
|
|
1130
|
+
"message"
|
|
1131
|
+
]
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"site": "reddit",
|
|
1135
|
+
"name": "upvote",
|
|
1136
|
+
"description": "Upvote or downvote a Reddit post",
|
|
1137
|
+
"strategy": "cookie",
|
|
1138
|
+
"browser": true,
|
|
1139
|
+
"args": [
|
|
1140
|
+
{
|
|
1141
|
+
"name": "post_id",
|
|
1142
|
+
"type": "string",
|
|
1143
|
+
"required": true,
|
|
1144
|
+
"help": "Post ID (e.g. 1abc123) or fullname (t3_xxx)"
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"name": "direction",
|
|
1148
|
+
"type": "string",
|
|
1149
|
+
"default": "up",
|
|
1150
|
+
"required": false,
|
|
1151
|
+
"help": "Vote direction: up, down, none"
|
|
640
1152
|
}
|
|
641
1153
|
],
|
|
642
|
-
"type": "
|
|
1154
|
+
"type": "ts",
|
|
1155
|
+
"modulePath": "reddit/upvote.js",
|
|
1156
|
+
"domain": "reddit.com",
|
|
1157
|
+
"columns": [
|
|
1158
|
+
"status",
|
|
1159
|
+
"message"
|
|
1160
|
+
]
|
|
643
1161
|
},
|
|
644
1162
|
{
|
|
645
1163
|
"site": "reddit",
|
|
646
|
-
"name": "
|
|
647
|
-
"description": "
|
|
648
|
-
"domain": "reddit.com",
|
|
1164
|
+
"name": "upvoted",
|
|
1165
|
+
"description": "Browse your upvoted Reddit posts",
|
|
649
1166
|
"strategy": "cookie",
|
|
650
1167
|
"browser": true,
|
|
651
1168
|
"args": [
|
|
@@ -657,81 +1174,58 @@
|
|
|
657
1174
|
"help": ""
|
|
658
1175
|
}
|
|
659
1176
|
],
|
|
1177
|
+
"type": "ts",
|
|
1178
|
+
"modulePath": "reddit/upvoted.js",
|
|
1179
|
+
"domain": "reddit.com",
|
|
660
1180
|
"columns": [
|
|
661
1181
|
"title",
|
|
662
1182
|
"subreddit",
|
|
663
|
-
"
|
|
664
|
-
"upvotes",
|
|
1183
|
+
"score",
|
|
665
1184
|
"comments",
|
|
666
1185
|
"url"
|
|
667
|
-
]
|
|
668
|
-
"pipeline": [
|
|
669
|
-
{
|
|
670
|
-
"navigate": "https://www.reddit.com"
|
|
671
|
-
},
|
|
672
|
-
{
|
|
673
|
-
"evaluate": "(async () => {\n const res = await fetch('/r/all.json?limit=${{ args.limit }}', { credentials: 'include' });\n const j = await res.json();\n return j?.data?.children || [];\n})()\n"
|
|
674
|
-
},
|
|
675
|
-
{
|
|
676
|
-
"map": {
|
|
677
|
-
"title": "${{ item.data.title }}",
|
|
678
|
-
"subreddit": "${{ item.data.subreddit_name_prefixed }}",
|
|
679
|
-
"author": "${{ item.data.author }}",
|
|
680
|
-
"upvotes": "${{ item.data.score }}",
|
|
681
|
-
"comments": "${{ item.data.num_comments }}",
|
|
682
|
-
"url": "https://www.reddit.com${{ item.data.permalink }}"
|
|
683
|
-
}
|
|
684
|
-
},
|
|
685
|
-
{
|
|
686
|
-
"limit": "${{ args.limit }}"
|
|
687
|
-
}
|
|
688
|
-
],
|
|
689
|
-
"type": "yaml"
|
|
1186
|
+
]
|
|
690
1187
|
},
|
|
691
1188
|
{
|
|
692
1189
|
"site": "reddit",
|
|
693
|
-
"name": "
|
|
694
|
-
"description": "Reddit
|
|
695
|
-
"domain": "
|
|
1190
|
+
"name": "user-comments",
|
|
1191
|
+
"description": "View a Reddit user's comment history",
|
|
1192
|
+
"domain": "reddit.com",
|
|
696
1193
|
"strategy": "cookie",
|
|
697
1194
|
"browser": true,
|
|
698
1195
|
"args": [
|
|
699
1196
|
{
|
|
700
|
-
"name": "
|
|
701
|
-
"type": "
|
|
702
|
-
"
|
|
703
|
-
"
|
|
704
|
-
"help": "Subreddit name (e.g. programming). Empty for frontpage"
|
|
1197
|
+
"name": "username",
|
|
1198
|
+
"type": "string",
|
|
1199
|
+
"required": true,
|
|
1200
|
+
"help": ""
|
|
705
1201
|
},
|
|
706
1202
|
{
|
|
707
1203
|
"name": "limit",
|
|
708
1204
|
"type": "int",
|
|
709
|
-
"default":
|
|
1205
|
+
"default": 15,
|
|
710
1206
|
"required": false,
|
|
711
|
-
"help": "
|
|
1207
|
+
"help": ""
|
|
712
1208
|
}
|
|
713
1209
|
],
|
|
714
1210
|
"columns": [
|
|
715
|
-
"rank",
|
|
716
|
-
"title",
|
|
717
1211
|
"subreddit",
|
|
718
1212
|
"score",
|
|
719
|
-
"
|
|
1213
|
+
"body",
|
|
1214
|
+
"url"
|
|
720
1215
|
],
|
|
721
1216
|
"pipeline": [
|
|
722
1217
|
{
|
|
723
1218
|
"navigate": "https://www.reddit.com"
|
|
724
1219
|
},
|
|
725
1220
|
{
|
|
726
|
-
"evaluate": "(async () => {\n const
|
|
1221
|
+
"evaluate": "(async () => {\n const username = ${{ args.username | json }};\n const name = username.startsWith('u/') ? username.slice(2) : username;\n const limit = ${{ args.limit }};\n const res = await fetch('/user/' + name + '/comments.json?limit=' + limit + '&raw_json=1', {\n credentials: 'include'\n });\n const d = await res.json();\n return (d?.data?.children || []).map(c => {\n let body = c.data.body || '';\n if (body.length > 300) body = body.slice(0, 300) + '...';\n return {\n subreddit: c.data.subreddit_name_prefixed,\n score: c.data.score,\n body: body,\n url: 'https://www.reddit.com' + c.data.permalink,\n };\n });\n})()\n"
|
|
727
1222
|
},
|
|
728
1223
|
{
|
|
729
1224
|
"map": {
|
|
730
|
-
"rank": "${{ index + 1 }}",
|
|
731
|
-
"title": "${{ item.title }}",
|
|
732
1225
|
"subreddit": "${{ item.subreddit }}",
|
|
733
1226
|
"score": "${{ item.score }}",
|
|
734
|
-
"
|
|
1227
|
+
"body": "${{ item.body }}",
|
|
1228
|
+
"url": "${{ item.url }}"
|
|
735
1229
|
}
|
|
736
1230
|
},
|
|
737
1231
|
{
|
|
@@ -742,14 +1236,14 @@
|
|
|
742
1236
|
},
|
|
743
1237
|
{
|
|
744
1238
|
"site": "reddit",
|
|
745
|
-
"name": "
|
|
746
|
-
"description": "
|
|
1239
|
+
"name": "user-posts",
|
|
1240
|
+
"description": "View a Reddit user's submitted posts",
|
|
747
1241
|
"domain": "reddit.com",
|
|
748
1242
|
"strategy": "cookie",
|
|
749
1243
|
"browser": true,
|
|
750
1244
|
"args": [
|
|
751
1245
|
{
|
|
752
|
-
"name": "
|
|
1246
|
+
"name": "username",
|
|
753
1247
|
"type": "string",
|
|
754
1248
|
"required": true,
|
|
755
1249
|
"help": ""
|
|
@@ -765,8 +1259,7 @@
|
|
|
765
1259
|
"columns": [
|
|
766
1260
|
"title",
|
|
767
1261
|
"subreddit",
|
|
768
|
-
"
|
|
769
|
-
"upvotes",
|
|
1262
|
+
"score",
|
|
770
1263
|
"comments",
|
|
771
1264
|
"url"
|
|
772
1265
|
],
|
|
@@ -775,16 +1268,15 @@
|
|
|
775
1268
|
"navigate": "https://www.reddit.com"
|
|
776
1269
|
},
|
|
777
1270
|
{
|
|
778
|
-
"evaluate": "(async () => {\n const
|
|
1271
|
+
"evaluate": "(async () => {\n const username = ${{ args.username | json }};\n const name = username.startsWith('u/') ? username.slice(2) : username;\n const limit = ${{ args.limit }};\n const res = await fetch('/user/' + name + '/submitted.json?limit=' + limit + '&raw_json=1', {\n credentials: 'include'\n });\n const d = await res.json();\n return (d?.data?.children || []).map(c => ({\n title: c.data.title,\n subreddit: c.data.subreddit_name_prefixed,\n score: c.data.score,\n comments: c.data.num_comments,\n url: 'https://www.reddit.com' + c.data.permalink,\n }));\n})()\n"
|
|
779
1272
|
},
|
|
780
1273
|
{
|
|
781
1274
|
"map": {
|
|
782
|
-
"title": "${{ item.
|
|
783
|
-
"subreddit": "${{ item.
|
|
784
|
-
"
|
|
785
|
-
"
|
|
786
|
-
"
|
|
787
|
-
"url": "https://www.reddit.com${{ item.data.permalink }}"
|
|
1275
|
+
"title": "${{ item.title }}",
|
|
1276
|
+
"subreddit": "${{ item.subreddit }}",
|
|
1277
|
+
"score": "${{ item.score }}",
|
|
1278
|
+
"comments": "${{ item.comments }}",
|
|
1279
|
+
"url": "${{ item.url }}"
|
|
788
1280
|
}
|
|
789
1281
|
},
|
|
790
1282
|
{
|
|
@@ -795,58 +1287,35 @@
|
|
|
795
1287
|
},
|
|
796
1288
|
{
|
|
797
1289
|
"site": "reddit",
|
|
798
|
-
"name": "
|
|
799
|
-
"description": "
|
|
1290
|
+
"name": "user",
|
|
1291
|
+
"description": "View a Reddit user profile",
|
|
800
1292
|
"domain": "reddit.com",
|
|
801
1293
|
"strategy": "cookie",
|
|
802
1294
|
"browser": true,
|
|
803
1295
|
"args": [
|
|
804
1296
|
{
|
|
805
|
-
"name": "
|
|
1297
|
+
"name": "username",
|
|
806
1298
|
"type": "string",
|
|
807
1299
|
"required": true,
|
|
808
1300
|
"help": ""
|
|
809
|
-
},
|
|
810
|
-
{
|
|
811
|
-
"name": "sort",
|
|
812
|
-
"type": "string",
|
|
813
|
-
"default": "hot",
|
|
814
|
-
"required": false,
|
|
815
|
-
"help": "Sorting method: hot, new, top, rising"
|
|
816
|
-
},
|
|
817
|
-
{
|
|
818
|
-
"name": "limit",
|
|
819
|
-
"type": "int",
|
|
820
|
-
"default": 15,
|
|
821
|
-
"required": false,
|
|
822
|
-
"help": ""
|
|
823
1301
|
}
|
|
824
1302
|
],
|
|
825
1303
|
"columns": [
|
|
826
|
-
"
|
|
827
|
-
"
|
|
828
|
-
"upvotes",
|
|
829
|
-
"comments",
|
|
830
|
-
"url"
|
|
1304
|
+
"field",
|
|
1305
|
+
"value"
|
|
831
1306
|
],
|
|
832
1307
|
"pipeline": [
|
|
833
1308
|
{
|
|
834
1309
|
"navigate": "https://www.reddit.com"
|
|
835
1310
|
},
|
|
836
1311
|
{
|
|
837
|
-
"evaluate": "(async () => {\n
|
|
1312
|
+
"evaluate": "(async () => {\n const username = ${{ args.username | json }};\n const name = username.startsWith('u/') ? username.slice(2) : username;\n const res = await fetch('/user/' + name + '/about.json?raw_json=1', {\n credentials: 'include'\n });\n const d = await res.json();\n const u = d?.data || d || {};\n const created = u.created_utc ? new Date(u.created_utc * 1000).toISOString().split('T')[0] : '-';\n return [\n { field: 'Username', value: 'u/' + (u.name || name) },\n { field: 'Post Karma', value: String(u.link_karma || 0) },\n { field: 'Comment Karma', value: String(u.comment_karma || 0) },\n { field: 'Total Karma', value: String(u.total_karma || (u.link_karma||0) + (u.comment_karma||0)) },\n { field: 'Account Created', value: created },\n { field: 'Gold', value: u.is_gold ? '⭐ Yes' : 'No' },\n { field: 'Verified', value: u.verified ? '✅ Yes' : 'No' },\n ];\n})()\n"
|
|
838
1313
|
},
|
|
839
1314
|
{
|
|
840
1315
|
"map": {
|
|
841
|
-
"
|
|
842
|
-
"
|
|
843
|
-
"upvotes": "${{ item.data.score }}",
|
|
844
|
-
"comments": "${{ item.data.num_comments }}",
|
|
845
|
-
"url": "https://www.reddit.com${{ item.data.permalink }}"
|
|
1316
|
+
"field": "${{ item.field }}",
|
|
1317
|
+
"value": "${{ item.value }}"
|
|
846
1318
|
}
|
|
847
|
-
},
|
|
848
|
-
{
|
|
849
|
-
"limit": "${{ args.limit }}"
|
|
850
1319
|
}
|
|
851
1320
|
],
|
|
852
1321
|
"type": "yaml"
|
|
@@ -916,6 +1385,54 @@
|
|
|
916
1385
|
"url"
|
|
917
1386
|
]
|
|
918
1387
|
},
|
|
1388
|
+
{
|
|
1389
|
+
"site": "twitter",
|
|
1390
|
+
"name": "article",
|
|
1391
|
+
"description": "Fetch a Twitter Article (long-form content) and export as Markdown",
|
|
1392
|
+
"strategy": "cookie",
|
|
1393
|
+
"browser": true,
|
|
1394
|
+
"args": [
|
|
1395
|
+
{
|
|
1396
|
+
"name": "tweet_id",
|
|
1397
|
+
"type": "string",
|
|
1398
|
+
"required": true,
|
|
1399
|
+
"positional": true,
|
|
1400
|
+
"help": "Tweet ID or URL containing the article"
|
|
1401
|
+
}
|
|
1402
|
+
],
|
|
1403
|
+
"type": "ts",
|
|
1404
|
+
"modulePath": "twitter/article.js",
|
|
1405
|
+
"domain": "x.com",
|
|
1406
|
+
"columns": [
|
|
1407
|
+
"title",
|
|
1408
|
+
"author",
|
|
1409
|
+
"content",
|
|
1410
|
+
"url"
|
|
1411
|
+
]
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"site": "twitter",
|
|
1415
|
+
"name": "bookmark",
|
|
1416
|
+
"description": "Bookmark a tweet",
|
|
1417
|
+
"strategy": "ui",
|
|
1418
|
+
"browser": true,
|
|
1419
|
+
"args": [
|
|
1420
|
+
{
|
|
1421
|
+
"name": "url",
|
|
1422
|
+
"type": "string",
|
|
1423
|
+
"required": true,
|
|
1424
|
+
"positional": true,
|
|
1425
|
+
"help": "Tweet URL to bookmark"
|
|
1426
|
+
}
|
|
1427
|
+
],
|
|
1428
|
+
"type": "ts",
|
|
1429
|
+
"modulePath": "twitter/bookmark.js",
|
|
1430
|
+
"domain": "x.com",
|
|
1431
|
+
"columns": [
|
|
1432
|
+
"status",
|
|
1433
|
+
"message"
|
|
1434
|
+
]
|
|
1435
|
+
},
|
|
919
1436
|
{
|
|
920
1437
|
"site": "twitter",
|
|
921
1438
|
"name": "bookmarks",
|
|
@@ -984,6 +1501,29 @@
|
|
|
984
1501
|
"message"
|
|
985
1502
|
]
|
|
986
1503
|
},
|
|
1504
|
+
{
|
|
1505
|
+
"site": "twitter",
|
|
1506
|
+
"name": "follow",
|
|
1507
|
+
"description": "Follow a Twitter user",
|
|
1508
|
+
"strategy": "ui",
|
|
1509
|
+
"browser": true,
|
|
1510
|
+
"args": [
|
|
1511
|
+
{
|
|
1512
|
+
"name": "username",
|
|
1513
|
+
"type": "string",
|
|
1514
|
+
"required": true,
|
|
1515
|
+
"positional": true,
|
|
1516
|
+
"help": "Twitter screen name (without @)"
|
|
1517
|
+
}
|
|
1518
|
+
],
|
|
1519
|
+
"type": "ts",
|
|
1520
|
+
"modulePath": "twitter/follow.js",
|
|
1521
|
+
"domain": "x.com",
|
|
1522
|
+
"columns": [
|
|
1523
|
+
"status",
|
|
1524
|
+
"message"
|
|
1525
|
+
]
|
|
1526
|
+
},
|
|
987
1527
|
{
|
|
988
1528
|
"site": "twitter",
|
|
989
1529
|
"name": "followers",
|
|
@@ -1120,33 +1660,33 @@
|
|
|
1120
1660
|
{
|
|
1121
1661
|
"site": "twitter",
|
|
1122
1662
|
"name": "profile",
|
|
1123
|
-
"description": "Fetch
|
|
1124
|
-
"strategy": "
|
|
1663
|
+
"description": "Fetch a Twitter user profile (bio, stats, etc.)",
|
|
1664
|
+
"strategy": "cookie",
|
|
1125
1665
|
"browser": true,
|
|
1126
1666
|
"args": [
|
|
1127
1667
|
{
|
|
1128
1668
|
"name": "username",
|
|
1129
1669
|
"type": "string",
|
|
1130
|
-
"required": true,
|
|
1131
|
-
"help": ""
|
|
1132
|
-
},
|
|
1133
|
-
{
|
|
1134
|
-
"name": "limit",
|
|
1135
|
-
"type": "int",
|
|
1136
|
-
"default": 15,
|
|
1137
1670
|
"required": false,
|
|
1138
|
-
"
|
|
1671
|
+
"positional": true,
|
|
1672
|
+
"help": "Twitter screen name (without @). Defaults to logged-in user."
|
|
1139
1673
|
}
|
|
1140
1674
|
],
|
|
1141
1675
|
"type": "ts",
|
|
1142
1676
|
"modulePath": "twitter/profile.js",
|
|
1143
1677
|
"domain": "x.com",
|
|
1144
1678
|
"columns": [
|
|
1145
|
-
"
|
|
1146
|
-
"
|
|
1679
|
+
"screen_name",
|
|
1680
|
+
"name",
|
|
1681
|
+
"bio",
|
|
1682
|
+
"location",
|
|
1683
|
+
"url",
|
|
1684
|
+
"followers",
|
|
1685
|
+
"following",
|
|
1686
|
+
"tweets",
|
|
1147
1687
|
"likes",
|
|
1148
|
-
"
|
|
1149
|
-
"
|
|
1688
|
+
"verified",
|
|
1689
|
+
"created_at"
|
|
1150
1690
|
]
|
|
1151
1691
|
},
|
|
1152
1692
|
{
|
|
@@ -1211,6 +1751,39 @@
|
|
|
1211
1751
|
"url"
|
|
1212
1752
|
]
|
|
1213
1753
|
},
|
|
1754
|
+
{
|
|
1755
|
+
"site": "twitter",
|
|
1756
|
+
"name": "thread",
|
|
1757
|
+
"description": "Get a tweet thread (original + all replies)",
|
|
1758
|
+
"strategy": "cookie",
|
|
1759
|
+
"browser": true,
|
|
1760
|
+
"args": [
|
|
1761
|
+
{
|
|
1762
|
+
"name": "tweet_id",
|
|
1763
|
+
"type": "string",
|
|
1764
|
+
"required": true,
|
|
1765
|
+
"help": ""
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
"name": "limit",
|
|
1769
|
+
"type": "int",
|
|
1770
|
+
"default": 50,
|
|
1771
|
+
"required": false,
|
|
1772
|
+
"help": ""
|
|
1773
|
+
}
|
|
1774
|
+
],
|
|
1775
|
+
"type": "ts",
|
|
1776
|
+
"modulePath": "twitter/thread.js",
|
|
1777
|
+
"domain": "x.com",
|
|
1778
|
+
"columns": [
|
|
1779
|
+
"id",
|
|
1780
|
+
"author",
|
|
1781
|
+
"text",
|
|
1782
|
+
"likes",
|
|
1783
|
+
"retweets",
|
|
1784
|
+
"url"
|
|
1785
|
+
]
|
|
1786
|
+
},
|
|
1214
1787
|
{
|
|
1215
1788
|
"site": "twitter",
|
|
1216
1789
|
"name": "timeline",
|
|
@@ -1275,6 +1848,52 @@
|
|
|
1275
1848
|
],
|
|
1276
1849
|
"type": "yaml"
|
|
1277
1850
|
},
|
|
1851
|
+
{
|
|
1852
|
+
"site": "twitter",
|
|
1853
|
+
"name": "unbookmark",
|
|
1854
|
+
"description": "Remove a tweet from bookmarks",
|
|
1855
|
+
"strategy": "ui",
|
|
1856
|
+
"browser": true,
|
|
1857
|
+
"args": [
|
|
1858
|
+
{
|
|
1859
|
+
"name": "url",
|
|
1860
|
+
"type": "string",
|
|
1861
|
+
"required": true,
|
|
1862
|
+
"positional": true,
|
|
1863
|
+
"help": "Tweet URL to unbookmark"
|
|
1864
|
+
}
|
|
1865
|
+
],
|
|
1866
|
+
"type": "ts",
|
|
1867
|
+
"modulePath": "twitter/unbookmark.js",
|
|
1868
|
+
"domain": "x.com",
|
|
1869
|
+
"columns": [
|
|
1870
|
+
"status",
|
|
1871
|
+
"message"
|
|
1872
|
+
]
|
|
1873
|
+
},
|
|
1874
|
+
{
|
|
1875
|
+
"site": "twitter",
|
|
1876
|
+
"name": "unfollow",
|
|
1877
|
+
"description": "Unfollow a Twitter user",
|
|
1878
|
+
"strategy": "ui",
|
|
1879
|
+
"browser": true,
|
|
1880
|
+
"args": [
|
|
1881
|
+
{
|
|
1882
|
+
"name": "username",
|
|
1883
|
+
"type": "string",
|
|
1884
|
+
"required": true,
|
|
1885
|
+
"positional": true,
|
|
1886
|
+
"help": "Twitter screen name (without @)"
|
|
1887
|
+
}
|
|
1888
|
+
],
|
|
1889
|
+
"type": "ts",
|
|
1890
|
+
"modulePath": "twitter/unfollow.js",
|
|
1891
|
+
"domain": "x.com",
|
|
1892
|
+
"columns": [
|
|
1893
|
+
"status",
|
|
1894
|
+
"message"
|
|
1895
|
+
]
|
|
1896
|
+
},
|
|
1278
1897
|
{
|
|
1279
1898
|
"site": "v2ex",
|
|
1280
1899
|
"name": "daily",
|