Das ist durchaus machbar, diese Art von Funktionalität müsste jedoch in einem Plugin erfolgen. Insbesondere abhängig von der Implementierung.
Etwas wie Tesseract ist eine Herausforderung bei der Installation, es ist ein bisschen ein Scheideweg. Entweder richtest du eine neue API ein oder du verschmutzt deinen Anwendungscontainer. Durch die Einrichtung einer API erhältst du eine bessere Isolierung, aber dann müsste jeder, der diese Art von Plugin installiert (außerhalb unseres Hostings), einen zweiten Container konfigurieren und einrichten, um diese Arbeit zu erledigen.
Wir müssten sehr vorsichtig mit Timeouts sein (was ist, wenn es 10 Sekunden dauert, um festzustellen, dass es sich um einen Screenshot von Code handelt, was sieht der Benutzer?)
Mein spontanes Brainstorming hier wäre etwas wie:
- Benutzer postet Bild
- Bild erscheint im Beitrag
- (gleichzeitig) wird der Beitrag an den Dienst “Erkenne, ob dies ein Code-Screenshot ist” gesendet
- Wenn der Dienst schließlich antwortet, zeigst du die Warnung an
Das Blockieren aller Bild-Uploads über einen Dienst (auch wenn er lokal ist) ist riskant, da die Benutzererfahrung erheblich leiden kann.
Du könntest vielleicht noch eine “letzte” Verzögerung einbauen, kurz bevor du postest, um sicherzustellen, dass nichts mehr in der Warteschlange ist.
Dies ist alles potenziell machbare Arbeit, die wir übernehmen könnten, aber wir bräuchten zuerst einen Datensatz, mit dem wir arbeiten können, damit wir Erwartungen setzen können (sagen wir 50 Code-Snippet-Bilder … 50 Nicht-Code-Snippet-Bilder).
Es ist ein sehr vages Problem, daher würden Beispiele helfen, zu veranschaulichen, wie gut dieses Ding funktionieren könnte.
Ein interessanter Dreh wäre, wenn dieser magische Dienst den Quellcode “de-screenshotet” und den Benutzer wissen lässt … “Hey, ich sehe, du hast versucht, hier Quellcode zu posten, möchtest du, dass ich ihn in diesen Textblock ändere?”