An open API service indexing awesome lists of open source software.

https://github.com/ryanlua/instawebhooks

Discord webhooks for new Instagram posts from any account. Get notified of posts from Instagram to your Discord server.
https://github.com/ryanlua/instawebhooks

cli discord instagram instaloader python webhooks works-with-codespaces

Last synced: 3 months ago
JSON representation

Discord webhooks for new Instagram posts from any account. Get notified of posts from Instagram to your Discord server.

Awesome Lists containing this project

README

          

.. image:: https://raw.githubusercontent.com/RyanLua/InstaWebhooks/main/assets/Logo.png
:alt: InstaWebhooks
:width: 64px

InstaWebhooks - Discord webhooks for Instagram
==============================================

.. |ci-badge| image:: https://github.com/RyanLua/InstaWebhooks/actions/workflows/ci.yml/badge.svg
:target: https://github.com/RyanLua/InstaWebhooks/actions/workflows/ci.yml
:alt: Continuous Integration

.. |pypi-version| image:: https://img.shields.io/pypi/v/instawebhooks
:target: https://pypi.org/project/instawebhooks/
:alt: PyPI

.. |python-versions| image:: https://img.shields.io/pypi/pyversions/instawebhooks
:target: https://pypi.org/project/instawebhooks
:alt: PyPI - Python Version

.. |license-badge| image:: https://img.shields.io/pypi/l/instawebhooks
:target: https://pypi.org/project/instawebhooks/
:alt: PyPI - License

.. |code-style-badge| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code style: black

.. |lint-badge| image:: https://img.shields.io/badge/linting-pylint-yellowgreen
:target: https://github.com/pylint-dev/pylint
:alt: Linting: pylint

|ci-badge| |pypi-version| |python-versions| |license-badge| |code-style-badge| |lint-badge|

`Documentation `_

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

.. image:: https://raw.githubusercontent.com/RyanLua/InstaWebhooks/main/assets/ScreenshotEmbedExample.png
:alt: Example of a new post notification
: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 `_ to fetch Instagram posts and `Discord Webhooks `_ to send messages to Discord via `requests `_ which happens to be the same dependency Instaloader uses. It uses `argparse `_ for the CLI and `logging `_ for logging.

Example
-------

Below, InstaWebhooks is monitoring the Instagram account `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.

.. code:: console

# Install InstaWebhooks
pip install instawebhooks

# Run InstaWebhooks with custom message contents
instawebhooks -c "New post from {owner_name}: {post_url}" raenlua https://discord.com/api/webhooks/0123456789/abcdefghijklmnopqrstuvwxyz

What it looks like:

.. image:: https://github.com/user-attachments/assets/15ce14a6-01ba-4675-a62e-d9c24128490b
:alt: Example of a customized message
:width: 512px

Installation
------------

InstaWebhooks is available on `PyPI `_, and can be installed using `pip`:

.. code:: console

pip install instawebhooks

For more ways to install, see `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 ```` and ````):

.. code:: console

instawebhooks

For more about each option and argument, including example templates, see `Usage `_.

Contributing
------------

For contributions, see the `contributing guidelines `_.

This project supports `development containers `_, allowing you to instantly setup your development environment. For more, read about `installing from dev container `_.