refactor: remove !paste command, keep as internal helper
Paste creation is only used internally by the bot for multi-line output. The create_paste() helper remains importable by other plugins.
This commit is contained in:
@@ -276,11 +276,11 @@ VT rate limit: 4 req/min. Email check: max 5, admin only.
|
|||||||
## FlaskPaste
|
## FlaskPaste
|
||||||
|
|
||||||
```
|
```
|
||||||
!paste some text here # Create paste, get URL
|
|
||||||
!shorten https://long-url.com/x # Shorten URL
|
!shorten https://long-url.com/x # Shorten URL
|
||||||
```
|
```
|
||||||
|
|
||||||
Auto-shortens URLs in `!alert` announcements and history when plugin is loaded.
|
Auto-shortens URLs in `!alert` announcements and history when plugin is loaded.
|
||||||
|
Paste helper used internally for multi-line bot output.
|
||||||
Config: `[flaskpaste]` in `config/derp.toml` or `FLASKPASTE_URL` env var.
|
Config: `[flaskpaste]` in `config/derp.toml` or `FLASKPASTE_URL` env var.
|
||||||
|
|
||||||
### Data Setup
|
### Data Setup
|
||||||
|
|||||||
@@ -131,7 +131,6 @@ format = "text" # Log format: "text" (default) or "json"
|
|||||||
| `!abuse <ip> report <cats> <comment>` | Report IP to AbuseIPDB (admin) |
|
| `!abuse <ip> report <cats> <comment>` | Report IP to AbuseIPDB (admin) |
|
||||||
| `!vt <hash\|ip\|domain\|url>` | VirusTotal lookup |
|
| `!vt <hash\|ip\|domain\|url>` | VirusTotal lookup |
|
||||||
| `!emailcheck <email> [email2 ...]` | SMTP email verification (admin) |
|
| `!emailcheck <email> [email2 ...]` | SMTP email verification (admin) |
|
||||||
| `!paste <text>` | Create a paste on FlaskPaste |
|
|
||||||
| `!shorten <url>` | Shorten a URL via FlaskPaste |
|
| `!shorten <url>` | Shorten a URL via FlaskPaste |
|
||||||
|
|
||||||
### Command Shorthand
|
### Command Shorthand
|
||||||
@@ -848,24 +847,6 @@ bad@example.com -- SMTP 550 User unknown (mx: mail.example.com)
|
|||||||
- 15-second timeout per connection
|
- 15-second timeout per connection
|
||||||
- Max 5 emails per invocation
|
- Max 5 emails per invocation
|
||||||
|
|
||||||
### `!paste` -- Create Paste
|
|
||||||
|
|
||||||
Upload text to FlaskPaste and get a shareable URL.
|
|
||||||
|
|
||||||
```
|
|
||||||
!paste some long text here
|
|
||||||
```
|
|
||||||
|
|
||||||
Output format:
|
|
||||||
|
|
||||||
```
|
|
||||||
https://paste.mymx.me/abc12345
|
|
||||||
```
|
|
||||||
|
|
||||||
- mTLS client cert skips PoW; falls back to PoW challenge if no cert
|
|
||||||
- Content sent as JSON body to FlaskPaste API
|
|
||||||
- Raw content available at `<paste_url>/raw`
|
|
||||||
|
|
||||||
### `!shorten` -- Shorten URL
|
### `!shorten` -- Shorten URL
|
||||||
|
|
||||||
Shorten a URL via FlaskPaste's URL shortener.
|
Shorten a URL via FlaskPaste's URL shortener.
|
||||||
|
|||||||
@@ -151,34 +151,6 @@ def create_paste(bot, content: str) -> str | None:
|
|||||||
|
|
||||||
# -- Commands ----------------------------------------------------------------
|
# -- Commands ----------------------------------------------------------------
|
||||||
|
|
||||||
@command("paste", help="Create a paste: !paste <text>")
|
|
||||||
async def cmd_paste(bot, message):
|
|
||||||
"""Create a paste on FlaskPaste and return the URL.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
!paste some long text here
|
|
||||||
"""
|
|
||||||
parts = message.text.split(None, 1)
|
|
||||||
if len(parts) < 2:
|
|
||||||
await bot.reply(message, "Usage: !paste <text>")
|
|
||||||
return
|
|
||||||
|
|
||||||
content = parts[1]
|
|
||||||
base_url = _get_base_url(bot)
|
|
||||||
loop = asyncio.get_running_loop()
|
|
||||||
|
|
||||||
try:
|
|
||||||
url = await loop.run_in_executor(None, _create_paste, base_url, content)
|
|
||||||
except Exception as exc:
|
|
||||||
await bot.reply(message, f"paste failed: {exc}")
|
|
||||||
return
|
|
||||||
|
|
||||||
if url:
|
|
||||||
await bot.reply(message, url)
|
|
||||||
else:
|
|
||||||
await bot.reply(message, "paste failed: no URL returned")
|
|
||||||
|
|
||||||
|
|
||||||
@command("shorten", help="Shorten a URL: !shorten <url>")
|
@command("shorten", help="Shorten a URL: !shorten <url>")
|
||||||
async def cmd_shorten(bot, message):
|
async def cmd_shorten(bot, message):
|
||||||
"""Shorten a URL via FlaskPaste.
|
"""Shorten a URL via FlaskPaste.
|
||||||
|
|||||||
Reference in New Issue
Block a user