Aller au contenu

Pièces Jointes

Les pièces jointes vous permettent d’envoyer des fichiers tels que des images, des journaux, des PDF et des artefacts en même temps que votre message. Leur arrivée sous forme de véritables pièces jointes dépend de ce que le service de destination prend en charge.

Utilisez --attach une ou plusieurs fois :

Fenêtre de terminal
apprise -t "Alerte système" -b "Voir le journal en pièce jointe" \
--attach /var/log/syslog \
"mailto://user:pass@example.com"
apprise -b "Voici les fichiers" \
--attach /tmp/photo1.jpg \
--attach /tmp/photo2.jpg \
"tgram://..."

Passez un chemin unique ou une liste de chemins via attach :

from apprise import Apprise
apobj = Apprise()
apobj.add("tgram://...")
# Pièce jointe unique
apobj.notify(body="Voir la pièce jointe", attach="/path/to/file.txt")
# Plusieurs pièces jointes
apobj.notify(
body="Artefacts joints",
attach=[
"/path/to/build.log",
"/path/to/report.pdf",
],
)

Vous pouvez également fournir une URL et Apprise la récupérera avant la diffusion :

# Apprise téléchargera cette image et l'enverra à la destination
# si vous fournissez un couple user/pass, il s'authentifiera même
# avant de récupérer la pièce jointe
apobj.notify(
body="Capture de la caméra de sécurité",
attach="http://admin:pass@example.local/cam/snapshot.jpg"
)

Lorsque vous générez du contenu à la volée — HTML rendu, graphiques, CSV, PDF — vous pouvez le transmettre directement sous forme d’objet AttachMemory sans écrire quoi que ce soit sur disque.

Passez directement une chaîne ou des bytes — aucun fichier temporaire n’est créé :

import apprise
from apprise.attachment import AttachMemory
apobj = apprise.Apprise()
apobj.add("discord://webhook_id/webhook_token/")
apobj.notify(
body="Les relevés du jour sont en pièce jointe.",
attach=AttachMemory(
content="date,value\n2026-03-20,42\n2026-03-21,38\n",
name="readings.csv",
mimetype="text/csv",
),
)

Le contenu str est automatiquement encodé en UTF-8. Utilisez bytes si vous disposez déjà de données binaires.

Questions ou commentaires ?

Documentation

Vous avez repéré une faute de frappe ou une erreur ?

Problèmes Techniques

Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :

Conçu avec amour depuis le Canada