threadkiller 2.2.1__tar.gz → 2.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- threadkiller-2.2.3/PKG-INFO +104 -0
- threadkiller-2.2.3/README.md +76 -0
- {threadkiller-2.2.1 → threadkiller-2.2.3}/pyproject.toml +2 -2
- {threadkiller-2.2.1 → threadkiller-2.2.3}/threadkiller/handlers.py +2 -2
- {threadkiller-2.2.1 → threadkiller-2.2.3}/threadkiller/strings.py +1 -1
- threadkiller-2.2.1/PKG-INFO +0 -39
- threadkiller-2.2.1/README.md +0 -11
- {threadkiller-2.2.1 → threadkiller-2.2.3}/LICENSE.txt +0 -0
- {threadkiller-2.2.1 → threadkiller-2.2.3}/threadkiller/__init__.py +0 -0
- {threadkiller-2.2.1 → threadkiller-2.2.3}/threadkiller/__main__.py +0 -0
- {threadkiller-2.2.1 → threadkiller-2.2.3}/threadkiller/config.py +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: threadkiller
|
|
3
|
+
Version: 2.2.3
|
|
4
|
+
Summary: Telegram bot to delete messages sent outside of threads
|
|
5
|
+
License-Expression: EUPL-1.2
|
|
6
|
+
License-File: LICENSE.txt
|
|
7
|
+
Keywords: telegram,chat-threads,telegram-bot,chat-moderation,python-telegram-bot
|
|
8
|
+
Author: Stefano Pigozzi
|
|
9
|
+
Author-email: me@steffo.eu
|
|
10
|
+
Maintainer: Stefano Pigozzi
|
|
11
|
+
Maintainer-email: me@steffo.eu
|
|
12
|
+
Requires-Python: >=3.10,<4.0
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
|
|
16
|
+
Classifier: Natural Language :: English
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Topic :: Communications :: Chat
|
|
19
|
+
Classifier: Typing :: Typed
|
|
20
|
+
Requires-Dist: cfig[cli] (>=0.2.3,<=0.4.0)
|
|
21
|
+
Requires-Dist: python-telegram-bot (>=20.0a1,<=21.0)
|
|
22
|
+
Project-URL: Documentation, https://forge.steffo.eu/steffo/threadkiller/wiki
|
|
23
|
+
Project-URL: Issues, https://forge.steffo.eu/steffo/threadkiller/issues
|
|
24
|
+
Project-URL: Source, https://forge.steffo.eu/steffo/threadkiller
|
|
25
|
+
Project-URL: Telegram, https://t.me/the_threadkiller_bot?startgroup=yes
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
|
|
28
|
+
<div align="center">
|
|
29
|
+
<img alt="" src="https://forge.steffo.eu/steffo/threadkiller/raw/branch/main/.media/icon-512.png" height="128" style="border-radius: 100%;">
|
|
30
|
+
<hgroup>
|
|
31
|
+
<h1>Threadkiller</h1>
|
|
32
|
+
<p>Telegram bot to delete messages sent outside of threads</p>
|
|
33
|
+
</hgroup>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
## Quick setup
|
|
37
|
+
|
|
38
|
+
[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**.
|
|
39
|
+
|
|
40
|
+
## Why?
|
|
41
|
+
|
|
42
|
+
Telegram discussion groups are buggy and weird.
|
|
43
|
+
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.
|
|
44
|
+
|
|
45
|
+
This bot deletes all messages sent in the groups it's in except for replies to channel messages or messages starting with `/thread`.
|
|
46
|
+
|
|
47
|
+
## Commands
|
|
48
|
+
|
|
49
|
+
- **/start** - In private chats, display information about Threadkiller.
|
|
50
|
+
- **/version** - View the Threadkiller version currently running.
|
|
51
|
+
- **/thread** - Start a new thread with the given title.
|
|
52
|
+
|
|
53
|
+
## Link
|
|
54
|
+
|
|
55
|
+
### Usage
|
|
56
|
+
|
|
57
|
+
<a href="https://t.me/the_threadkiller_bot?startgroup=yes">
|
|
58
|
+
<img alt="Usable on Telegram" title="Usable on Telegram" src="https://img.shields.io/badge/telegram-@the__threadkiller__bot-27a7e7" height="30px">
|
|
59
|
+
</a>
|
|
60
|
+
|
|
61
|
+
### Tools
|
|
62
|
+
|
|
63
|
+
<a href="https://www.python.org/">
|
|
64
|
+
<img alt="Written in Python" title="Written in Python" src="https://img.shields.io/badge/language-python-3775a9" height="30px">
|
|
65
|
+
</a>
|
|
66
|
+
|
|
67
|
+
### Packaging
|
|
68
|
+
|
|
69
|
+
<a href="https://pypi.org/project/threadkiller">
|
|
70
|
+
<img alt="Available on PyPI" title="Available on PyPI" src="https://img.shields.io/pypi/v/threadkiller?label=pypi&color=ffd242" height="30px">
|
|
71
|
+
</a>
|
|
72
|
+
 
|
|
73
|
+
<a href="https://forge.steffo.eu/steffo/-/packages/pypi/threadkiller">
|
|
74
|
+
<img alt="Available on Forgejo Packages" title="Available on Forgejo Packages" src="https://img.shields.io/badge/forgejo%20packages-latest-ff6600" height="30px">
|
|
75
|
+
</a>
|
|
76
|
+
|
|
77
|
+
### Documentation
|
|
78
|
+
|
|
79
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/wiki">
|
|
80
|
+
<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">
|
|
81
|
+
</a>
|
|
82
|
+
 
|
|
83
|
+
<a href="https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12">
|
|
84
|
+
<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">
|
|
85
|
+
</a>
|
|
86
|
+
|
|
87
|
+
### Development
|
|
88
|
+
|
|
89
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller">
|
|
90
|
+
<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">
|
|
91
|
+
</a>
|
|
92
|
+
 
|
|
93
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/releases">
|
|
94
|
+
<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">
|
|
95
|
+
</a>
|
|
96
|
+
 
|
|
97
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/issues">
|
|
98
|
+
<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">
|
|
99
|
+
</a>
|
|
100
|
+
 
|
|
101
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/issues">
|
|
102
|
+
<img alt="Pull requests" title="Issues" src="https://img.shields.io/gitea/pull-requests/open/steffo/threadkiller?gitea_url=https%3A%2F%2Fforge.steffo.eu&color=374351" height="30px">
|
|
103
|
+
</a>
|
|
104
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img alt="" src="https://forge.steffo.eu/steffo/threadkiller/raw/branch/main/.media/icon-512.png" height="128" style="border-radius: 100%;">
|
|
3
|
+
<hgroup>
|
|
4
|
+
<h1>Threadkiller</h1>
|
|
5
|
+
<p>Telegram bot to delete messages sent outside of threads</p>
|
|
6
|
+
</hgroup>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
## Quick setup
|
|
10
|
+
|
|
11
|
+
[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**.
|
|
12
|
+
|
|
13
|
+
## Why?
|
|
14
|
+
|
|
15
|
+
Telegram discussion groups are buggy and weird.
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
This bot deletes all messages sent in the groups it's in except for replies to channel messages or messages starting with `/thread`.
|
|
19
|
+
|
|
20
|
+
## Commands
|
|
21
|
+
|
|
22
|
+
- **/start** - In private chats, display information about Threadkiller.
|
|
23
|
+
- **/version** - View the Threadkiller version currently running.
|
|
24
|
+
- **/thread** - Start a new thread with the given title.
|
|
25
|
+
|
|
26
|
+
## Link
|
|
27
|
+
|
|
28
|
+
### Usage
|
|
29
|
+
|
|
30
|
+
<a href="https://t.me/the_threadkiller_bot?startgroup=yes">
|
|
31
|
+
<img alt="Usable on Telegram" title="Usable on Telegram" src="https://img.shields.io/badge/telegram-@the__threadkiller__bot-27a7e7" height="30px">
|
|
32
|
+
</a>
|
|
33
|
+
|
|
34
|
+
### Tools
|
|
35
|
+
|
|
36
|
+
<a href="https://www.python.org/">
|
|
37
|
+
<img alt="Written in Python" title="Written in Python" src="https://img.shields.io/badge/language-python-3775a9" height="30px">
|
|
38
|
+
</a>
|
|
39
|
+
|
|
40
|
+
### Packaging
|
|
41
|
+
|
|
42
|
+
<a href="https://pypi.org/project/threadkiller">
|
|
43
|
+
<img alt="Available on PyPI" title="Available on PyPI" src="https://img.shields.io/pypi/v/threadkiller?label=pypi&color=ffd242" height="30px">
|
|
44
|
+
</a>
|
|
45
|
+
 
|
|
46
|
+
<a href="https://forge.steffo.eu/steffo/-/packages/pypi/threadkiller">
|
|
47
|
+
<img alt="Available on Forgejo Packages" title="Available on Forgejo Packages" src="https://img.shields.io/badge/forgejo%20packages-latest-ff6600" height="30px">
|
|
48
|
+
</a>
|
|
49
|
+
|
|
50
|
+
### Documentation
|
|
51
|
+
|
|
52
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/wiki">
|
|
53
|
+
<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">
|
|
54
|
+
</a>
|
|
55
|
+
 
|
|
56
|
+
<a href="https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12">
|
|
57
|
+
<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">
|
|
58
|
+
</a>
|
|
59
|
+
|
|
60
|
+
### Development
|
|
61
|
+
|
|
62
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller">
|
|
63
|
+
<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">
|
|
64
|
+
</a>
|
|
65
|
+
 
|
|
66
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/releases">
|
|
67
|
+
<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">
|
|
68
|
+
</a>
|
|
69
|
+
 
|
|
70
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/issues">
|
|
71
|
+
<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">
|
|
72
|
+
</a>
|
|
73
|
+
 
|
|
74
|
+
<a href="https://forge.steffo.eu/steffo/threadkiller/issues">
|
|
75
|
+
<img alt="Pull requests" title="Issues" src="https://img.shields.io/gitea/pull-requests/open/steffo/threadkiller?gitea_url=https%3A%2F%2Fforge.steffo.eu&color=374351" height="30px">
|
|
76
|
+
</a>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "threadkiller"
|
|
3
|
-
version = "2.2.
|
|
3
|
+
version = "2.2.3"
|
|
4
4
|
description = "Telegram bot to delete messages sent outside of threads"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Stefano Pigozzi", email = "me@steffo.eu"}
|
|
@@ -41,7 +41,7 @@ threadkiller = "threadkiller.__main__:main"
|
|
|
41
41
|
Source = "https://forge.steffo.eu/steffo/threadkiller"
|
|
42
42
|
Issues = "https://forge.steffo.eu/steffo/threadkiller/issues"
|
|
43
43
|
Documentation = "https://forge.steffo.eu/steffo/threadkiller/wiki"
|
|
44
|
-
Telegram = "https://t.me/the_threadkiller_bot"
|
|
44
|
+
Telegram = "https://t.me/the_threadkiller_bot?startgroup=yes"
|
|
45
45
|
|
|
46
46
|
[build-system]
|
|
47
47
|
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
@@ -3,7 +3,7 @@ import telegram
|
|
|
3
3
|
import telegram.error
|
|
4
4
|
import telegram.ext
|
|
5
5
|
import telegram.constants
|
|
6
|
-
import
|
|
6
|
+
import importlib.metadata
|
|
7
7
|
from . import config
|
|
8
8
|
from . import strings
|
|
9
9
|
|
|
@@ -41,7 +41,7 @@ async def purge(update: telegram.Update, _context: telegram.ext.CallbackContext)
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
async def version(update: telegram.Update, _context: telegram.ext.CallbackContext):
|
|
44
|
-
asyncio.create_task(ephemeral_reply_text(update, strings.version.format(version=
|
|
44
|
+
asyncio.create_task(ephemeral_reply_text(update, strings.version.format(version=importlib.metadata.version("threadkiller"))))
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
async def pin_thread(update: telegram.Update, _context: telegram.ext.CallbackContext):
|
|
@@ -13,7 +13,7 @@ If you give me the <b>Pin Messages</b> permission, I will pin all messages start
|
|
|
13
13
|
Be aware that by using me, it might become impossible to forward messages in the group, since messages <u>cannot be forwarded inside threads</u>.
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
-
version = """ℹ️ <a href="https://
|
|
16
|
+
version = """ℹ️ <a href="https://forge.steffo.eu/steffo/threadkiller">Threadkiller</a> <b><a href="https://forge.steffo.eu/steffo/threadkiller/releases/tag/v{version}">v{version}</a></b>"""
|
|
17
17
|
|
|
18
18
|
error_missing_title = """🚫 You cannot create threads without a title."""
|
|
19
19
|
|
threadkiller-2.2.1/PKG-INFO
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: threadkiller
|
|
3
|
-
Version: 2.2.1
|
|
4
|
-
Summary: Telegram bot to delete messages sent outside of threads
|
|
5
|
-
License-Expression: EUPL-1.2
|
|
6
|
-
License-File: LICENSE.txt
|
|
7
|
-
Keywords: telegram,chat-threads,telegram-bot,chat-moderation,python-telegram-bot
|
|
8
|
-
Author: Stefano Pigozzi
|
|
9
|
-
Author-email: me@steffo.eu
|
|
10
|
-
Maintainer: Stefano Pigozzi
|
|
11
|
-
Maintainer-email: me@steffo.eu
|
|
12
|
-
Requires-Python: >=3.10,<4.0
|
|
13
|
-
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
-
Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
|
|
16
|
-
Classifier: Natural Language :: English
|
|
17
|
-
Classifier: Operating System :: OS Independent
|
|
18
|
-
Classifier: Topic :: Communications :: Chat
|
|
19
|
-
Classifier: Typing :: Typed
|
|
20
|
-
Requires-Dist: cfig[cli] (>=0.2.3,<=0.4.0)
|
|
21
|
-
Requires-Dist: python-telegram-bot (>=20.0a1,<=21.0)
|
|
22
|
-
Project-URL: Documentation, https://forge.steffo.eu/steffo/threadkiller/wiki
|
|
23
|
-
Project-URL: Issues, https://forge.steffo.eu/steffo/threadkiller/issues
|
|
24
|
-
Project-URL: Source, https://forge.steffo.eu/steffo/threadkiller
|
|
25
|
-
Project-URL: Telegram, https://t.me/the_threadkiller_bot
|
|
26
|
-
Description-Content-Type: text/markdown
|
|
27
|
-
|
|
28
|
-
# Threadkiller!
|
|
29
|
-
|
|
30
|
-
_A Telegram bot to delete messages sent outside of channel comment threads_
|
|
31
|
-
|
|
32
|
-
\[ [**Bot**](https://t.me/threadkillerbot) | [**Documentation**](https://github.com/Steffo99/threadkiller/wiki) | [PyPI](https://pypi.org/project/threadkiller/) \]
|
|
33
|
-
|
|
34
|
-
## Commands
|
|
35
|
-
|
|
36
|
-
- **start** - In private chats, display information about Threadkiller.
|
|
37
|
-
- **version** - View the Threadkiller version currently running.
|
|
38
|
-
- **thread** - Start a new thread with the given title.
|
|
39
|
-
|
threadkiller-2.2.1/README.md
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# Threadkiller!
|
|
2
|
-
|
|
3
|
-
_A Telegram bot to delete messages sent outside of channel comment threads_
|
|
4
|
-
|
|
5
|
-
\[ [**Bot**](https://t.me/threadkillerbot) | [**Documentation**](https://github.com/Steffo99/threadkiller/wiki) | [PyPI](https://pypi.org/project/threadkiller/) \]
|
|
6
|
-
|
|
7
|
-
## Commands
|
|
8
|
-
|
|
9
|
-
- **start** - In private chats, display information about Threadkiller.
|
|
10
|
-
- **version** - View the Threadkiller version currently running.
|
|
11
|
-
- **thread** - Start a new thread with the given title.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|