threadkiller 2.2.5
Telegram bot to delete messages sent outside of threads
Requires Python: <4.0,>=3.10
Keywords: telegram, chat-threads, telegram-bot, chat-moderation, python-telegram-bot

<div align="center">
<img alt="" src="https://forge.steffo.eu/steffo/threadkiller/raw/branch/main/.media/icon-512.png" height="128" style="border-radius: 100%;">
<hgroup>
<h1>Threadkiller</h1>
<p>Telegram bot to delete messages sent outside of threads</p>
</hgroup>
</div>

## Quick setup

[Add @the_threadkiller_bot to a Telegram group](https://t.me/the_threadkiller_bot?startgroup=yes) of your choice, then give it permission to **Delete messages** and to **Pin messages**.

## Why?

Telegram discussion groups are buggy and weird.  
Sending a message there without it being a reply to any other message means that channel viewers will not see it, despite the message probably being a reply to the immediately previous message.

This bot deletes all messages sent in the groups it's in except for replies to channel messages or messages starting with `/thread`.

## Commands

- **/start** - In private chats, display information about Threadkiller.
- **/version** - View the currently running version of Threadkiller.
- **/thread** - Start a new thread with the given title.

## Link

### Use

<a href="https://t.me/the_threadkiller_bot?startgroup=yes">
    <img alt="Usable on Telegram" title="Usable on Telegram" src="https://img.shields.io/badge/telegram-@the__threadkiller__bot-27a7e7" height="30px">
</a>

### Tools

<a href="https://www.python.org/">
    <img alt="Written in Python" title="Written in Python" src="https://img.shields.io/badge/language-python-3775a9" height="30px">
</a>

### Packaging

<a href="https://pypi.org/project/threadkiller">
    <img alt="Available on PyPI" title="Available on PyPI" src="https://img.shields.io/pypi/v/threadkiller?label=pypi&color=ffd242" height="30px">
</a>
&hairsp;
<a href="https://forge.steffo.eu/steffo/-/packages/pypi/threadkiller">
    <img alt="Available on Forgejo Packages" title="Available on Forgejo Packages" src="https://img.shields.io/badge/forgejo%20packages-latest-ff6600" height="30px">
</a>

### Documentation

<a href="https://forge.steffo.eu/steffo/threadkiller/wiki">
    <img alt="Documentation available" title="Documentation available" src="https://img.shields.io/website?url=https%3A%2F%2Fforge.steffo.eu%2Fsteffo%2Fthreadkiller%2Fwiki&up_color=175d36&up_message=available&down_message=error&label=documentation" height="30px">
</a>
&hairsp;
<a href="https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12">
    <img alt="Licensed under EUPL-1.2" title="Licensed under EUPL-1.2" src="https://img.shields.io/badge/license-EUPL--1.2-003399" height="30px">
</a>

### Development

<a href="https://forge.steffo.eu/steffo/threadkiller">
    <img alt="Code repository" title="Code repository" src="https://img.shields.io/gitea/last-commit/steffo/threadkiller?gitea_url=https%3A%2F%2Fforge.steffo.eu&color=374351" height="30px">
</a>
&hairsp;
<a href="https://forge.steffo.eu/steffo/threadkiller/releases">
    <img alt="Releases" title="Releases" src="https://img.shields.io/gitea/v/release/steffo/threadkiller?gitea_url=https%3A%2F%2Fforge.steffo.eu&label=last+release&color=374351" height="30px">
</a>
&hairsp;
<a href="https://forge.steffo.eu/steffo/threadkiller/issues">
    <img alt="Issues" title="Issues" src="https://img.shields.io/gitea/issues/open/steffo/threadkiller?gitea_url=https%3A%2F%2Fforge.steffo.eu&label=issues&color=374351" height="30px">
</a>
&hairsp;
<a href="https://forge.steffo.eu/steffo/threadkiller/pulls">
    <img alt="Pull requests" title="Pull requests" src="https://img.shields.io/gitea/pull-requests/open/steffo/threadkiller?gitea_url=https%3A%2F%2Fforge.steffo.eu&color=374351" height="30px">
</a>