{"id":16869241,"url":"https://github.com/jvdburgh/AmputatorBot","last_synced_at":"2025-11-12T01:30:15.226Z","repository":{"id":63752134,"uuid":"196008885","full_name":"jvdburgh/AmputatorBot","owner":"jvdburgh","description":"Remove AMP from your URLs. AmputatorBot is a highly specialised Reddit and Twitter bot that automatically replies to comments, submissions and tweets containing AMP URLs with the canonical link(s). It's also available as a website and REST API. See also: https://www.reddit.com/r/AmputatorBot/comments/ehrq3z/why_did_i_build_amputatorbot/.","archived":false,"fork":false,"pushed_at":"2024-07-30T18:55:23.000Z","size":1151,"stargazers_count":177,"open_issues_count":4,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-13T21:42:21.093Z","etag":null,"topics":["amp","amp-html","amputatorbot","api","bot","google-amp","open","praw","praw-reddit","reddit","reddit-api","reddit-bot","twitter-bot"],"latest_commit_sha":null,"homepage":"https://www.amputatorbot.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jvdburgh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"KilledMufasa","custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=EU6ZFKTVT9VH2"}},"created_at":"2019-07-09T12:57:08.000Z","updated_at":"2025-01-28T21:46:42.000Z","dependencies_parsed_at":"2022-11-25T08:05:27.454Z","dependency_job_id":"8d65e662-b7ae-450b-9163-6bdb8a243f93","html_url":"https://github.com/jvdburgh/AmputatorBot","commit_stats":null,"previous_names":["jvdburgh/amputatorbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdburgh%2FAmputatorBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdburgh%2FAmputatorBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdburgh%2FAmputatorBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdburgh%2FAmputatorBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jvdburgh","download_url":"https://codeload.github.com/jvdburgh/AmputatorBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239599061,"owners_count":19665911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amp","amp-html","amputatorbot","api","bot","google-amp","open","praw","praw-reddit","reddit","reddit-api","reddit-bot","twitter-bot"],"created_at":"2024-10-13T15:00:44.362Z","updated_at":"2025-11-12T01:30:15.145Z","avatar_url":"https://github.com/jvdburgh.png","language":"Python","funding_links":["https://github.com/sponsors/KilledMufasa","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=EU6ZFKTVT9VH2"],"categories":["Python"],"sub_categories":[],"readme":"![#AmputatorBot](/img/amputatorbot_logo_banner.png)\n\nTL;DR: Remove AMP from your URLs. [AmputatorBot](https://github.com/KilledMufasa/AmputatorBot) is a highly specialised [Reddit](https://www.reddit.com/user/AmputatorBot)\n(and former [Twitter](https://twitter.com/AmputatorBot)) bot that automatically replies to comments and submissions containing AMP URLs with the canonical link(s). It's also available as a\n[website](https://www.amputatorbot.com/) and [REST API](https://documenter.getpostman.com/view/12422626/UVC3n93T), but those haven't been made open source here.\n\n[**FAQ, About \u0026 Why**](https://www.reddit.com/r/AmputatorBot/comments/ehrq3z/why_did_i_build_amputatorbot/)\n\n## Features\n\n![#AmputatorBot demo](/img/amputatorbot_demo.png)\n\n### Main features:\n- **10 specialised canonical-finding methods, allowing for an accuracy rate of +97%**. For example, by:\n  - Scanning the HTML contents\n  - Detecting and following redirects\n  - Guessing, and then checking article similarity with [newspaper](https://github.com/codelucas/newspaper/)\n  - … and many more!\n- Detect AMP links using 14 patterns, and reply to items containing them with the canonical link and some info\n- Compare and test canonicals and pick the best\n- Stream Reddit comments, submissions and inbox messages\n- Extensively tested using a (private) database of over 200K AMP links and their canonicals, also functioning as caching\n\n### Nice bonuses:\n- Detect unique URLs with [URLExtract](https://github.com/lipoja/URLExtract) and strip them of any artifacts\n- Object-oriented, allowing for a handy, free and publicly available API\n- Allow users to opt out and undo this\n- Send DMs when summoned by a user\n- Items interacted with are automatically being tracked\n- Log and datafiles are automatically generated\n\n### See also:\n- Online version: [AmputatorBot.com](https://www.amputatorbot.com/)\n- Free and publicly available REST API to convert AMP URLs to canonical links: [API Documentation](https://documenter.getpostman.com/view/12422626/UVC3n93T) \u0026 [Postman](https://www.postman.com/amputatorbot)\n- User-oriented, simplified changelog: [Changelog](https://www.reddit.com/r/AmputatorBot/comments/ch9fxp/changelog_of_amputatorbot/)\n- Community \u0026 Subreddit: [r/AmputatorBot](https://www.reddit.com/r/AmputatorBot/)\n## Set up\n\n1. Clone the repository\n2. Run `pip install -r requirements.txt` to install dependencies\n3. Change the filename of `static.txt` to `.py` (see `/static`)\n4. Configure the application by tweaking `static.py` (required)\n6. Choose a `check-[...].py` script to run\n7. Configure the script's settings in `run_bot()`. Set everything (`guess_and_check`, `reply_to_post`, `save_to_database`) to `False` when starting out. Consider deleting or disabling the database canonical method.\n8. Run the script - All logs and required datafiles should be automatically and dynamically created.\n9. Stop the script.\n10. Check out the new files in `/data` and edit them to your liking.\n11. Re-run the script and enjoy!\n\n## Support the project\n\n- **Summon AmputatorBot** on Reddit, like so: [u/AmputatorBot](https://www.reddit.com/u/AmputatorBot/). For more info, [see here](https://www.reddit.com/r/AmputatorBot/comments/cchly3/you_can_now_summon_amputatorbot/).\n- **Give feedback**: Most new features and improvements are directly influenced by your feedback. So, hit me up if you have any feedback. [Contact me on Reddit](https://www.reddit.com/message/compose/?to=Killed_Mufasa) or [Fill an issue](https://github.com/KilledMufasa/AmputatorBot/issues).\n- **Star**: By starring the project here on GitHub, we can reach more folks and unlock new options. It also gives me something to brag about :p\n- **Contribute**: [Pull requests](https://github.com/KilledMufasa/AmputatorBot/issues) are a great way to contribute directly to the code and functionality.\n- **Spread the word**: In the end, the only goal of AmputatorBot is to allow people to have an informed choice. You can help by simply spreading the word!\n\n### Sponsor\nThe server for the bot, website, and API costs about €10 ($12) per month. If you support AmputatorBot's mission and can chip in, any donation would be a huge help. Every bit goes straight into server expenses. Thanks a bunch!\n\u003e PayPal: [https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=EU6ZFKTVT9VH2](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=EU6ZFKTVT9VH2)  \n\u003e Or, donate to our friends in Ukraine instead: [https://u24.gov.ua](https://u24.gov.ua/)\n\n**From the bottom of my heart, huge thanks for the tremendous support! \u003c3**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvdburgh%2FAmputatorBot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvdburgh%2FAmputatorBot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvdburgh%2FAmputatorBot/lists"}