<img alt="InstaWebhooks" src="https://raw.githubusercontent.com/RyanLua/InstaWebhooks/main/assets/Logo.png" width="64px" />
# InstaWebhooks - Discord webhooks for Instagram
[![Continuous Integration](https://github.com/RyanLua/InstaWebhooks/actions/workflows/ci.yml/badge.svg)](https://github.com/RyanLua/InstaWebhooks/actions/workflows/ci.yml) [![PyPI - Version](https://img.shields.io/pypi/v/instawebhooks)](https://pypi.org/project/instawebhooks/#history) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/instawebhooks)](https://pypi.org/project/instawebhooks/) [![GitHub License](https://img.shields.io/github/license/RyanLua/InstaWebhooks)](https://github.com/RyanLua/InstaWebhooks/blob/main/LICENSE.txt) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)
> [InstaWebhooks Documentation](https://github.com/RyanLua/InstaWebhooks/wiki)
Monitor Instagram accounts for new posts and send them to a Discord webhook.
* Works with **any Instagram account**, including private accounts if you are a follower
* Customizable **Discord embeds** for new posts and message contents including **mentions/pings**
* **User-definable refresh interval** for checking for new posts the second they are posted
<img alt="Example of a new post notification" src="https://raw.githubusercontent.com/RyanLua/InstaWebhooks/main/assets/ScreenshotEmbedExample.png" width="512px" />
## What is InstaWebhooks?
InstaWebhooks is a Python package CLI that allows you to monitor Instagram accounts for new posts and send them to a Discord webhook. It is designed to be simple to use and easy to set up, with a focus on customizability and ease of use.
Internally, InstaWebhooks uses [Instaloader](https://instaloader.github.io/) to fetch Instagram posts and [Discord Webhooks](https://discord.com/developers/docs/resources/webhook) to send messages to Discord via [requests](https://requests.readthedocs.io/en/latest/) which happens to be the same dependancy Instaloader uses. It uses [argparse](https://docs.python.org/3/library/argparse.html) for the CLI and [logging](https://docs.python.org/3/library/logging.html) for logging.
## Example
Below, InstaWebhooks is monitoring the Instagram account [`raenlua`](https://www.instagram.com/raenlua/) for new posts and sending them to a Discord webhook every 30 minutes and sends a message to Discord with the post URL and the owner's name.
```console
$ instawebhooks -i 1800 -c "New post from {owner_name}: {post_url}" raenlua https://discord.com/api/webhooks/0123456789/abcdefghijklmnopqrstuvwxyz
07/29/2024 10:02:10 PM - INFO - Starting InstaWebhooks...
07/29/2024 10:02:14 PM - INFO - InstaWebhooks started successfully.
07/29/2024 10:02:14 PM - INFO - Monitoring 'raenlua' every 1800 seconds on https://discord.com/api/webhooks/0123456789/abcdefghijklmnopqrstuvwxyz.
07/29/2024 10:02:18 PM - INFO - New post sent to Discord successfully.
```
What it looks like:
<img alt="Example of a customized message" src="https://github.com/user-attachments/assets/15ce14a6-01ba-4675-a62e-d9c24128490b" width="512px" />
## Installation
InstaWebhooks is available on [PyPI](https://pypi.org/project/instawebhooks/), and can be installed using `pip`:
```
pip install instawebhooks
```
For more ways to install, see "[Installation](https://github.com/RyanLua/InstaWebhooks/wiki/Installation)."
## Usage
You can run `instawebhooks --help` to see the full list of options and arguments available.
The most basic usage of InstaWebhooks is to provide an Instagram account and a Discord webhook URL (replace `<INSTAGRAM_USERNAME>` and `<DISCORD_WEBHOOK_URL>`):
```
instawebhooks <INSTAGRAM_USERNAME> <DISCORD_WEBHOOK_URL>
```
For more about each option and argument, includig example templates, see "[Usage](https://github.com/RyanLua/InstaWebhooks/wiki/Usage)."
## Contributing
For contributions, see the [contributing guidelines](CONTRIBUTING.md).
This project supports [development containers](https://containers.dev/), allowing you to instantly setup your development environment. For more, read about [installing from dev container](https://github.com/RyanLua/InstaWebhooks/wiki/Installation#from-development-container)
Raw data
{
"_id": null,
"home_page": null,
"name": "instawebhooks",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "webhooks, feed, embed, Instagram, Discord, CLI",
"author": null,
"author_email": "Ryan Luu <ryan.luu@ryanluu.dev>",
"download_url": "https://files.pythonhosted.org/packages/75/8b/6359a337b9a6aa74e2ce75772c3d2cec9d59c4913745ab366ec7b1d99710/instawebhooks-0.1.3.tar.gz",
"platform": null,
"description": "<img alt=\"InstaWebhooks\" src=\"https://raw.githubusercontent.com/RyanLua/InstaWebhooks/main/assets/Logo.png\" width=\"64px\" />\n\n# InstaWebhooks - Discord webhooks for Instagram\n\n[![Continuous Integration](https://github.com/RyanLua/InstaWebhooks/actions/workflows/ci.yml/badge.svg)](https://github.com/RyanLua/InstaWebhooks/actions/workflows/ci.yml) [![PyPI - Version](https://img.shields.io/pypi/v/instawebhooks)](https://pypi.org/project/instawebhooks/#history) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/instawebhooks)](https://pypi.org/project/instawebhooks/) [![GitHub License](https://img.shields.io/github/license/RyanLua/InstaWebhooks)](https://github.com/RyanLua/InstaWebhooks/blob/main/LICENSE.txt) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)\n\n\n> [InstaWebhooks Documentation](https://github.com/RyanLua/InstaWebhooks/wiki)\n\nMonitor Instagram accounts for new posts and send them to a Discord webhook.\n\n* Works with **any Instagram account**, including private accounts if you are a follower\n* Customizable **Discord embeds** for new posts and message contents including **mentions/pings**\n* **User-definable refresh interval** for checking for new posts the second they are posted\n\n<img alt=\"Example of a new post notification\" src=\"https://raw.githubusercontent.com/RyanLua/InstaWebhooks/main/assets/ScreenshotEmbedExample.png\" width=\"512px\" />\n\n## What is InstaWebhooks?\n\nInstaWebhooks is a Python package CLI that allows you to monitor Instagram accounts for new posts and send them to a Discord webhook. It is designed to be simple to use and easy to set up, with a focus on customizability and ease of use.\n\nInternally, InstaWebhooks uses [Instaloader](https://instaloader.github.io/) to fetch Instagram posts and [Discord Webhooks](https://discord.com/developers/docs/resources/webhook) to send messages to Discord via [requests](https://requests.readthedocs.io/en/latest/) which happens to be the same dependancy Instaloader uses. It uses [argparse](https://docs.python.org/3/library/argparse.html) for the CLI and [logging](https://docs.python.org/3/library/logging.html) for logging.\n\n## Example\n\nBelow, InstaWebhooks is monitoring the Instagram account [`raenlua`](https://www.instagram.com/raenlua/) for new posts and sending them to a Discord webhook every 30 minutes and sends a message to Discord with the post URL and the owner's name.\n\n```console\n$ instawebhooks -i 1800 -c \"New post from {owner_name}: {post_url}\" raenlua https://discord.com/api/webhooks/0123456789/abcdefghijklmnopqrstuvwxyz\n07/29/2024 10:02:10 PM - INFO - Starting InstaWebhooks...\n07/29/2024 10:02:14 PM - INFO - InstaWebhooks started successfully.\n07/29/2024 10:02:14 PM - INFO - Monitoring 'raenlua' every 1800 seconds on https://discord.com/api/webhooks/0123456789/abcdefghijklmnopqrstuvwxyz.\n07/29/2024 10:02:18 PM - INFO - New post sent to Discord successfully.\n```\n\nWhat it looks like:\n\n<img alt=\"Example of a customized message\" src=\"https://github.com/user-attachments/assets/15ce14a6-01ba-4675-a62e-d9c24128490b\" width=\"512px\" />\n\n## Installation\n\nInstaWebhooks is available on [PyPI](https://pypi.org/project/instawebhooks/), and can be installed using `pip`:\n\n```\npip install instawebhooks\n```\n\nFor more ways to install, see \"[Installation](https://github.com/RyanLua/InstaWebhooks/wiki/Installation).\"\n\n## Usage\n\n\nYou can run `instawebhooks --help` to see the full list of options and arguments available.\n\nThe most basic usage of InstaWebhooks is to provide an Instagram account and a Discord webhook URL (replace `<INSTAGRAM_USERNAME>` and `<DISCORD_WEBHOOK_URL>`):\n\n```\ninstawebhooks <INSTAGRAM_USERNAME> <DISCORD_WEBHOOK_URL>\n```\n\nFor more about each option and argument, includig example templates, see \"[Usage](https://github.com/RyanLua/InstaWebhooks/wiki/Usage).\"\n\n## Contributing\n\nFor contributions, see the [contributing guidelines](CONTRIBUTING.md).\n\nThis project supports [development containers](https://containers.dev/), allowing you to instantly setup your development environment. For more, read about [installing from dev container](https://github.com/RyanLua/InstaWebhooks/wiki/Installation#from-development-container)\n",
"bugtrack_url": null,
"license": null,
"summary": "Discord webhooks for new Instagram posts from any profile",
"version": "0.1.3",
"project_urls": {
"Discord": "https://discord.gg/wmM64GcZwe",
"Documentation": "https://github.com/RyanLua/InstaWebhooks/wiki",
"Homepage": "https://github.com/RyanLua/InstaWebhooks",
"Issues": "https://github.com/RyanLua/InstaWebhooks/issues",
"Repository": "https://github.com/RyanLua/InstaWebhooks.git",
"Sponsor": "https://github.com/sponsors/RyanLua"
},
"split_keywords": [
"webhooks",
" feed",
" embed",
" instagram",
" discord",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3ff2746dd3aa5953c5f3319f32d3050c588d2f952a6a812935c7c7e728210622",
"md5": "0a6f07f3526c793c2e2fa5f40e19b2cb",
"sha256": "12f732b43d72cb807aef97b791b84183a7121ee57b17b6365a5bac3e338908dd"
},
"downloads": -1,
"filename": "instawebhooks-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0a6f07f3526c793c2e2fa5f40e19b2cb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7338,
"upload_time": "2024-08-20T00:36:45",
"upload_time_iso_8601": "2024-08-20T00:36:45.083430Z",
"url": "https://files.pythonhosted.org/packages/3f/f2/746dd3aa5953c5f3319f32d3050c588d2f952a6a812935c7c7e728210622/instawebhooks-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "758b6359a337b9a6aa74e2ce75772c3d2cec9d59c4913745ab366ec7b1d99710",
"md5": "8257d00f2c6dd01d7fb6c11a9e4ca291",
"sha256": "22c3d41f11c5736fdd842d4b0c578c071f60513d246b75e2a8716d4fd03ec649"
},
"downloads": -1,
"filename": "instawebhooks-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "8257d00f2c6dd01d7fb6c11a9e4ca291",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6995,
"upload_time": "2024-08-20T00:36:46",
"upload_time_iso_8601": "2024-08-20T00:36:46.552250Z",
"url": "https://files.pythonhosted.org/packages/75/8b/6359a337b9a6aa74e2ce75772c3d2cec9d59c4913745ab366ec7b1d99710/instawebhooks-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-20 00:36:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RyanLua",
"github_project": "InstaWebhooks",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "instawebhooks"
}