Wenn Sie eine Discord-Aktivität über Discord ausführen, können Probleme mit der Content Security Policy (CSP) auftreten. Sie können diese Probleme beheben, indem Sie sicherstellen, dass Netzwerkanfragen den Discord-Proxy-Regeln entsprechen.
Dies kann manuell erfolgen... oder Sie können es @robojs/patch überlassen.
Content Security Policy (CSP) ist ein Sicherheitsstandard, der dabei hilft, Cross-Site Scripting (XSS)-Angriffe zu verhindern. Es steuert, welche Ressourcen eine Seite laden und wohin sie Daten senden kann.
Wenn Sie eine Discord-Aktivität in Discord ausführen, verwenden Sie tatsächlich den Discord-Proxy als Mittelsmann, was bedeutet, dass er seinen eigenen festlegt. CSP-Regeln. Wenn Ihre Netzwerkanfragen diesen Regeln nicht entsprechen, werden sie blockiert.
Wie oben erwähnt, müssen Sie lediglich sicherstellen, dass Ihre Netzwerkanfragen den Discord-Proxy-Regeln entsprechen. In einigen Fällen umfasst dies das Hinzufügen von /.proxy am Anfang Ihres Anforderungspfads.
// Before fetch('/api/token') // After fetch('/.proxy/api/token')
Allerdings können WebSockets etwas kniffliger sein. Vor allem, wenn Sie sich auf Hot Module Replacement (HMR) verlassen, das vor Ihrer eigenen Aktivität geladen wird, wie in Vite. Deshalb haben wir @robojs/patch erstellt, um alles für Sie zu erledigen.
@robojs/patch ist ein leichtes Paket, das Ihre Netzwerkanforderungen so patcht, dass sie den Discord-Proxy-Regeln folgen. Dies funktioniert durch die Aktualisierung der globalen Werte fetch und WebSocket.
npm install @robojs/patch
Wir haben je nach Projektkonfiguration verschiedene Möglichkeiten, diesen Patch anzuwenden.
Wenn Sie Vite verwenden, können Sie den Patch als Plugin in Ihrer Vite-Konfigurationsdatei anwenden.
import { DiscordProxy } from '@robojs/patch' import { defineConfig } from 'vite' export default defineConfig({ plugins: [DiscordProxy.Vite()] })
Wir empfehlen diese Methode, da sie es ermöglicht, den Patch vor dem HMR-Client von Vite auszuführen und so sicherzustellen, dass er ordnungsgemäß funktioniert.
Wenn Sie Vite nicht verwenden, können Sie den Patch anwenden, indem Sie eine Funktion direkt aufrufen.
import { DiscordProxy } from '@robojs/patch' DiscordProxy.patch()
Rufen Sie dies unbedingt ganz am Anfang Ihres Projekts auf, bevor andere Skripte geladen werden. (z. B. oben in Ihrer index.js-Datei)
➞ ? Dokumentation: @robojs/patch
Dies wirkt sich nicht auf Anfragen an externe URLs aus. Wenn Sie CSP-Probleme damit haben, können Sie diese möglicherweise beheben, indem Sie Ihren eigenen Proxy erstellen oder sie im Discord-Entwicklerportal zuordnen.
➞ ? Tutorial: CSP-Probleme mit einem Proxy lösen
Robo.js ist ein leistungsstarkes Framework zum einfachen Erstellen von Discord-Aktivitäten. Es bietet eine breite Palette an Funktionen und Tools, die Ihnen dabei helfen, epische Discord-Erlebnisse zu erstellen!
Treten Sie unserem Discord-Server bei, um mit anderen Entwicklern zu chatten, Fragen zu stellen und Ihre Projekte zu teilen. Wir sind ein freundlicher Haufen und helfen immer gerne weiter! Darüber hinaus steht Ihnen unser eigener KI-Robo Sage bei allen Fragen zur Seite.
➞ ? Community: Treten Sie unserem Discord-Server bei
➞ ? Tutorial: Mit Robo.js in Sekundenschnelle eine Discord-Aktivität erstellen
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3