Initial commit: VPN Telegram bot (sanitized defaults)

This commit is contained in:
VPN Service
2026-07-26 23:21:41 +03:00
commit aaf04faa96
77 changed files with 33249 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
"""Генерация QR (SVG) без Pillow — только пакет qrcode."""
from __future__ import annotations
import io
import qrcode
import qrcode.image.svg
def make_qr_svg(data: str, *, scale: int = 4, border: int = 2) -> bytes:
"""Возвращает SVG QR как bytes (image/svg+xml)."""
text = (data or "").strip()
if not text:
raise ValueError("empty qr data")
factory = qrcode.image.svg.SvgPathImage
img = qrcode.make(
text,
error_correction=qrcode.constants.ERROR_CORRECT_M,
box_size=max(2, int(scale)),
border=max(1, int(border)),
image_factory=factory,
)
buf = io.BytesIO()
img.save(buf)
return buf.getvalue()