112 Commits

Author SHA1 Message Date
Alessio
97419c483e BUGFIX: fix re-fetching of conflicting users having a crash if the user in question was banned instead of deleted 2025-02-18 21:55:36 -08:00
Alessio
acf903d16a Fix lint error 2025-02-15 19:50:39 -08:00
Alessio
3defa56a37 Move to 'pkg' instead of 'internal' 2025-02-15 19:46:10 -08:00
Alessio
041af0f91d Move common type definitions (Tweet, User, etc) from 'scraper' package to 'persistence' 2025-02-14 16:02:40 -08:00
Alessio
4132eb4bca REFACTOR: SaveTweetTrove no longer calls scraper.GetUserByID, removing another scraper dependency from persistence package
- it was calling it to handle conflicting user handles
- now user handle conflicts are handled by the callee
- Add a utility function in `main` and `webserver` packages to rescrape the conflicting users
2025-02-10 12:53:31 -08:00
Alessio
b2f697a8a6 REFACTOR: make Session file storage functions more generic (not hardcoded for scraper.API) 2025-02-04 14:46:13 -08:00
Alessio
cb0b478c08 REFACTOR: apply dependency injection change (whole API object -> just the downloader function) to 'SaveTweetTrove' method 2025-02-03 21:58:53 -08:00
Alessio
0c1d853f55 REFACTOR: change media downloader dependency injection to take just the download function rather than a whole API object 2025-02-03 21:24:53 -08:00
Alessio
e27cd12cdc REFACTOR: change 'fetch_tweet_only' to use the regular fetch-tweet scraper function, and extract the main tweet in the 'main' package instead of having a scraper function for it 2024-12-21 09:21:23 -08:00
Alessio
faac7e9b16 Add marking notifications as read 2024-11-06 21:54:21 -08:00
Alessio
c7a6b5b321 Add back in the GetUserByID unauthenticated operation since apparently it does actually work 2024-11-06 18:58:18 -08:00
Alessio
2b7a636720 Remove the unauthenticated GetUser requests as they no longer work 2024-11-06 18:36:06 -08:00
Alessio
f7cbe17deb Fix lint errors 2024-09-22 22:24:56 -07:00
Alessio
381e9e0706 'fetch_user' and 'fetch_user_by_id' subcommands now check for conflicting user handle errors and rescrape if needed 2024-09-22 22:11:08 -07:00
Alessio
51eaa2a0c4 Remove some useless functions ('list_followed', superceded by Lists; 'UserExists') 2024-09-17 18:13:54 -07:00
Alessio
4ea15f10af Add scraper function to get user by ID 2024-09-15 22:56:59 -07:00
Alessio
210328bcc9 Kick CI 2024-09-15 19:26:14 -07:00
Alessio
a418fc99bf Kick CI 2024-09-15 19:20:02 -07:00
Alessio
9c0f9504f6 "ConvertToAPIUser() now returns an error indicating a "not-found" response, which propagates through "GetUser" API calls 2024-09-15 17:59:25 -07:00
Alessio
b9e025589e Update CHANGELOG.txt for v0.6.16 2024-09-03 18:36:23 -07:00
Alessio
9c7174a84a Add way to scrape unread count; add db query to count unread notifs since a given sort index 2024-09-02 15:02:27 -07:00
Alessio
0c620621a6 Add scraping notiication detail 2024-08-28 19:22:09 -07:00
Alessio
2c7c35e23f Add pagination to notifications
- handle notifications end-of-feed
- add support for "quoted" and "mentioned" notifications
2024-08-26 00:07:10 -07:00
Alessio
04991ad554 Add 'get_notifications' subcommand 2024-08-25 22:57:40 -07:00
Alessio
3f7a357b17 Fix lint error 2024-08-19 18:23:46 -07:00
Alessio
c45b8e7ad8 Add --delay flag to force a delay between requests in a large paginated scrape 2024-08-19 18:20:12 -07:00
Alessio
9c8c7cdf65 'webserver' subcommand now respects the '--session' flag 2024-08-19 17:49:36 -07:00
Alessio
e2ca9a975a Remove scraper singleton pattern entirely 2024-08-19 17:27:54 -07:00
Alessio
08e5a726a8 Remove most uses of the singleton pattern in 'scraper' package 2024-08-19 16:45:32 -07:00
Alessio
24129c4852 REFACTOR: reduce technical debt, particularly that caused by singleton pattern in pkg/scraper
- ensure all scraper functions have a `api.XYZ` version and a package-level convenience function
	- isolate `the_api` to top-level convenience functions, in preparation for removal
- move a bunch of scraper functions around to be nearby their related functions
- new ErrLoginRequired
- remove obsolete APIv1 stuff (Feed, TweetDetail)
- rename scraper function GetUserFeedGraphqlFor => GetUserFeed
- fix go.mod Go version incorrectly claiming it's compatible with Go 1.16 (should be Go 1.17)
2024-08-09 19:48:50 -07:00
Alessio
b4384f9cc4 Enable sending emoji reactions in DMs 2024-07-28 14:09:41 -07:00
Alessio
98015ddf0c REFACTOR: remove DMTrove type, merge it into TweetTrove 2024-07-28 08:01:58 -07:00
Alessio
3c4507dafa Update CHANGELOG.txt for v0.6.13 2024-07-14 14:21:34 -07:00
Alessio
ef15e8a306 Handle guest token / session initialization when not connected to internet 2024-07-14 13:20:44 -07:00
Alessio
bbe6c6fef1 Fix lint error 2024-07-13 23:05:31 -07:00
Alessio
d2045028a7 Improve closing message when a scrape ends due to rate-limiting 2024-06-11 12:32:58 -07:00
Alessio
80f8ed0a5d Update command line output when you get rate limited 2024-06-10 20:37:43 -07:00
Alessio
a1faacaf6b Don't throw away all previous results if you get rate-limited, just save them 2024-06-10 19:59:08 -07:00
Alessio
14a7f88cdb Add scraping and saving of bookmarks 2024-05-28 21:55:42 -07:00
2e1c851e04 Add help message info for 'get_followers' and 'get_followees' 2024-03-22 21:34:38 -07:00
f3b71a2633 Move --addr flag under webserver subcommand 2024-03-10 19:14:19 -07:00
73ffb90f63 Move API login flow to its own file; add support for secondary verification challenges 2024-03-02 15:43:02 -08:00
a29c54c068 Fix lint errors 2024-02-21 19:55:47 -08:00
a5f1e8396e Add --default-profile command-line flag which will create the profile if necessary and then use it 2024-02-21 19:53:12 -08:00
90b9df15e5 Several visual improvements
- make spacing around a tweet's reply-mentions container grow and shrink more appropriately
- fix double HTMX-spinner when a tweet has a quoted tweet
- add favicon
2024-02-18 15:07:56 -08:00
018df0d6a4 Rename 'for you' timeline to 'following only' to match Twitter's upstream changes
- Also add 'get_user_likes_all' cmd subcommand to get all users likes
2024-02-18 14:47:12 -08:00
df8093bbd9 Add follows 2023-12-26 19:52:37 -06:00
4b6686cde6 Fix lint errors 2023-12-26 14:09:03 -06:00
795b7250ed Add flag to auto-open page in web browser 2023-12-26 12:20:58 -06:00
cec8f4d124 Update CHANGELOG.txt for v0.6.0 2023-12-24 22:43:14 -06:00