Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Free API deprecation #40

Closed
dgw opened this issue Feb 2, 2023 · 8 comments
Closed

Free API deprecation #40

dgw opened this issue Feb 2, 2023 · 8 comments
Milestone

Comments

@dgw
Copy link
Member

dgw commented Feb 2, 2023

In one week, Twitter plans to shut off free API access:

01:11:36 <+xrl> Oh no. https://twitter.com/TwitterDev/status/1621026986784337922
01:11:36 <+Sopel> [Twitter] Twitter Dev (@TwitterDev): Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead 🧵 | 7775 RTs | 2880 ♥s | Posted: [05] Thursday, February 02, 07:05:25+0100 (CET)

Migrating to v2 no longer matters, I guess. #29 (scraping) all the way?

(Of course, Elno could change tacks on this ten times in the next week. We'll just have to see.)

@dgw dgw pinned this issue Feb 2, 2023
This was referenced Feb 2, 2023
@ghost
Copy link

ghost commented Feb 3, 2023

Posted in IRC, but will tack onto the issue as well:

20:34:20 <ziro> zedeus/nitter#783 (comment) — perhaps sopel-twitter can live on? :P
20:34:20 <+Sopel> [GitHub] [zedeus/nitter #783] Comment by zedeus: It's very unlikely Nitter will be affected since the APIs aren't used in the official way with developer credentials. I'm slowly moving stuff to use their newer GraphQL APIs anyway, so if it breaks it'll be fixed soon-ish.
20:34:41 <ziro> Of course, Bibliogram tried to stay alive in a similar way in the past, so...

@dgw
Copy link
Member Author

dgw commented Feb 3, 2023

@xnaas I swear I mentioned that somewhere, but yesterday was pretty busy IRL so maybe I imagined doing it 😂

Nitter could be The Way™ now. This would also be a perfect excuse to restructure the plugin to entry-point and switch package names (sopel_modules.twittersopel-twitter).

@ghost
Copy link

ghost commented Feb 4, 2023

I mean, if nitter (or anyone) just documented the GraphQL stuff, you could also just steal copy borrow that work. ;P


Edit: And I mean...there still becomes the issue: how do you decide a link is a nitter link and query it? I know we'd talked briefly about maybe doing like the url plugin already does and just read some of the <head> stuff and try to determine. Not going to be 100% successful, but? ¯\_(ツ)_/¯

@dgw
Copy link
Member Author

dgw commented Feb 4, 2023

Well yes, choosing a Nitter instance would be an issue. Aside from (a contributor to) the project hosting one FBO all Sopel users, you're right. That's even without accounting for all the other instances that users might post links to (even if the URL patterns are fairly predictable…)

I do wish one of the projects I've seen using the bootleg API would include some documentation, but there's a Python library I found to poke at, and it doesn't even look abandoned (yet): https://pypi.org/project/tweety-ns/

@ghost
Copy link

ghost commented Feb 4, 2023

Another option on the Nitter route: make a command required, e.g. .tweet https://totallylegitnitter.site/totallylegitusername/status/1234567890123456789...but that's obviously a pretty big downgrade in functionality. 😅


Edit:

even if the URL patterns are fairly predictable…

Just match all domains. EZ. 🤪

@dgw
Copy link
Member Author

dgw commented Feb 7, 2023

Started work in a tweety-migration branch, but am currently blocked on mahrtayyab/tweety#11 which seems like a major blocker for maintaining the plugin's existing behavior.

@dgw
Copy link
Member Author

dgw commented Mar 30, 2023

The clock has (finally, or once again, your choice) started:

image

image

Note that there is no "smooth transition" for low-volume read-only use cases like this plugin, except to pay $100/month. Bot owners ain't gonna do that. This plugin's only going to continue working if someone finds a viable scraper package to use instead of the v2 API.

@dgw dgw added this to the 0.5.0 milestone Mar 30, 2023
@dgw dgw removed the help wanted label Apr 14, 2023
@dgw
Copy link
Member Author

dgw commented Apr 14, 2023

Resolved by #42

@dgw dgw closed this as completed Apr 14, 2023
@dgw dgw unpinned this issue Jun 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant