Metadata-Version: 2.1
Name: tootbot
Version: 7.0.2
Summary: A Python bot that looks up posts from specified subreddits and automatically posts them on Mastodon
Keywords: 
Author-email: marvin8 <marvin8@tuta.io>
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Requires-Dist: imgurpython>=1.1.7
Requires-Dist: arrow>=1.2.3
Requires-Dist: python-magic>=0.4.27
Requires-Dist: asyncpraw>=7.6.1
Requires-Dist: outdated>=0.2.2
Requires-Dist: tqdm>=4.64.1
Requires-Dist: aiosqlite>=0.17.0
Requires-Dist: yt-dlp>=2023.2.17
Requires-Dist: minimal-activitypub>=0.5.4
Requires-Dist: pre-commit>=3.0.4 ; extra == "dev"
Requires-Dist: black>=23.1.0 ; extra == "dev"
Requires-Dist: mypy>=1.0.0 ; extra == "dev"
Requires-Dist: safety>=2.3.4 ; extra == "dev"
Requires-Dist: pip-audit>=2.4.14 ; extra == "dev"
Requires-Dist: types-aiofiles>=22.1.0.8 ; extra == "dev"
Requires-Dist: interrogate>=1.5.0 ; extra == "dev"
Requires-Dist: ruff>=0.0.247 ; extra == "dev"
Requires-Dist: flit>=3.8.0 ; extra == "dev"
Requires-Dist: Sphinx>=6.1.3 ; extra == "doc"
Requires-Dist: python-docs-theme>=2022.1 ; extra == "doc"
Requires-Dist: sphinx-rtd-theme>=1.2.0 ; extra == "doc"
Project-URL: Bug Tracker, https://codeberg.org/MarvinsMastodonTools/tootbot/issues
Project-URL: Changelog, https://codeberg.org/MarvinsMastodonTools/tootbot/src/branch/main/CHANGELOG.rst
Project-URL: Wiki, https://codeberg.org/MarvinsMastodonTools/tootbot/wiki
Project-URL: homepage, https://codeberg.org/MarvinsMastodonTools/tootbot
Project-URL: repository, https://codeberg.org/MarvinsMastodonTools/tootbot
Provides-Extra: dev
Provides-Extra: doc

Tootbot
=======

|Repo| |CI - Woodpecker| |Downloads|

|Checked against| |Checked with| |Interrogate|

|Code style| |PyPI - Python Version| |PyPI - Wheel|

|GPL|


This is a Python bot that looks up posts from specified subreddits and automatically posts them on `Mastodon`_.
It is based on `reddit-twitter-bot`_.

Features:
---------

* Tootbot posts to `Mastodon`_
* Media from direct links, Gfycat, Imgur, Reddit, and Giphy is automatically attached in the social media post.
  Tootbot attaches up to the first 4 pictures for imgur albums and reddit gallery posts.
* Links that do not contain media can be skipped, ideal for meme accounts like `@babyelephantgifs`_
* NSFW content, spoilers, and self-posts can be filtered
* Tootbot can monitor multiple subreddits at once
* Tootbot is fully open-source, so you don't have to give an external service full access to your social media accounts
* Tootbot also checks the sha256 checksum of media files to stop posting of the same media file from different subreddits.
* Tootbot can ping a `Healthchecks`_ instance for monitoring continuous operation of Tootbot
* Optionally throttle down frequency of tooting when mastodon errors are detected.

**!!! Tootbot no longer supports posting to Twitter. !!!**

If you need twitter functionality look into `reddit-twitter-bot`_ as a possible alternative.

**!!! Tootbot no longer supports deleting old toots. !!!**

If you'd like to delete older toots from your Mastodon account look into `MastodonAmnesia`_ as a tool that might
work for you.

Disclaimer
----------

The developers of Tootbot hold no liability for what you do with this script or what happens to you by using this
script. Abusing this script *can* get you banned from Mastodon, so make sure to read up on proper usage of the API
for each site.

Setup and usage
---------------

For instructions on setting up and using Tootbot, please visit `the wiki`_

Supporting Tootbot
------------------

There are a number of ways you can support Tootbot:

- Create an issue with problems or ideas you have with/for Tootboot
- You can `buy me a coffee`_.
- You can send me small change in Monero to the address below:

Monero donation address:
`87C65WhSDMhg4GfCBoiy861XTB6DL2MwHT3SWudhjR3LMeGEJG8zeZZ9y4Exrtx5ihavXyfSEschtH4JqHFQS2k1Hmn2Lkt`

Changelog
---------

See the `Changelog`_ for any changes introduced with each version.

License
-------

Tootbot is licences under the `GNU General Public License v3.0`_



.. _Mastodon: https://joinmastodon.org/
.. _reddit-twitter-bot: https://github.com/rhiever/reddit-twitter-bot
.. _MastodonAmnesia: https://pypi.org/project/mastodonamnesia/
.. _@babyelephantgifs: https://botsin.space/@babyelephantgifs
.. _Healthchecks: https://healthchecks.io/
.. _the wiki: https://codeberg.org/MarvinsMastodonTools/tootbot/wiki
.. _buy me a coffee: https://www.buymeacoffee.com/marvin8
.. _GNU General Public License v3.0: http://www.gnu.org/licenses/agpl-3.0.html
.. _Changelog: https://codeberg.org/MarvinsMastodonTools/tootbot/src/branch/main/CHANGELOG.rst

.. |GPL| image:: https://www.gnu.org/graphics/gplv3-with-text-136x68.png
    :alt: GPL3
    :target: https://codeberg.org/MarvinsMastodonTools/tootbot/src/branch/main/license.txt

.. |Repo| image:: https://img.shields.io/badge/repo-Codeberg.org-blue
    :alt: Repo at Codeberg
    :target: https://codeberg.org/MarvinsMastodonTools/tootbot

.. |Downloads| image:: https://pepy.tech/badge/tootbot
    :target: https://pepy.tech/project/tootbot

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

.. |Checked against| image:: https://img.shields.io/badge/Safety--DB-Checked-green
    :alt: Checked against Safety DB
    :target: https://pyup.io/safety/

.. |Checked with| image:: https://img.shields.io/badge/pip--audit-Checked-green
    :alt: Checked with pip-audit
    :target: https://pypi.org/project/pip-audit/

.. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/tootbot

.. |PyPI - Wheel| image:: https://img.shields.io/pypi/wheel/tootbot

.. |CI - Woodpecker| image:: https://ci.codeberg.org/api/badges/MarvinsMastodonTools/tootbot/status.svg
    :target: https://ci.codeberg.org/MarvinsMastodonTools/tootbot

.. |Interrogate| image:: https://codeberg.org/MarvinsMastodonTools/tootbot/raw/branch/main/interrogate_badge.svg
    :alt: Doc-string coverage
    :target: https://interrogate.readthedocs.io/en/latest/

