Schlagwort: Discord

Discord: Vorsicht beim Einrichten

Discord: Vorsicht beim Einrichten

Vor Kurzem ist mir aufgefallen, dass bei einem Discord Server, den ich moderiere, die Email Verifizierung nicht funktionierte.

Das Verifizierungslevel ist auf medium gesetzt, dennoch konnten Nutzer direkt nach Erstellen eines Accounts, ohne Abwarten der 10 Minuten und ohne Verifikation der Email Adresse den Server betreten, schreiben und die Voice Channels nutzen.

Nach einigem Suchen habe ich dann den Fehler gefunden. Auf dem Server läuft ein Bot, der jedem neuen Nutzer direkt eine Rolle automatisch zuweist.
Nun scheint es aber so, dass sich das Verifizierungslevel von Discord selbst nur auf die @everyone Rolle, also auf Nutzer komplett ohne zusätzliche Rolle, bezieht.

Weist ihr einem Nutzer nun manuell oder über einen Bot eine Rolle zu, wertet Discord diesen User als „von euch verifiziert“ und ignoriert damit die eigene Sicherheitsrichtlinie.

Wer das nicht weiß, der bastelt sich sehr schnell ein Schlupfloch für Spammer und Trolls.

Daher rate ich von einem automatischen Zuweisen von Rollen für neue Nutzer ausdrücklich ab. Allgemein sehe ich das aber als einen Fehler im Discord Rechtesystem an, die irgendwann hoffentlich nachgebessert wird.

D.JS: Herausfiltern von Discord Invites & Informationen des Zielservers

D.JS: Herausfiltern von Discord Invites & Informationen des Zielservers

Die neuste Erweiterung meines The Cycle Discord Bots sollte ein Filter sein, der Discord Einladungen automatisch löscht bzw. mit einer Whitelist abgleicht, ob ein Link zugelassen ist..

Die Idee war recht simpel, doch in der Umsetzung stand ich auf einmal vor dem Problem einen Discord Link überhaupt zu identifizieren, auch wenn er in einen Text verpackt ist.
Als wäre das nicht schon Aufgabe genug, gibt es ja zig Variationen diese Links. Zusätzlich wollte ich ja dann auch nicht nur den Link selbst auf eine Whitelist setzen, sondern bestenfalls den Zielserver, sodass letztlich alle generierten Links zu einem solchen Server zugelassen sind.

Meine Suche verlief jedoch zunächst nicht sehr erfolgreich. Viele gefundene Ansätze passte nicht wirklich in mein Konzept. Im letzten Schritt kontaktierte ich dann auf dem offiziellen Discord von D.JS die Community und hatte innerhalb von 2 Minuten doch tatsächlich einen brauchbaren Ansatz, der letztlich auch eine Lösung lieferte.

Um vielleicht Anderen, die vor dem gleichen Problem stehen, die Suche zu vereinfachen, hier ein Auszug, wie ich das gelöst habe.

Zur Identifikation des Links in einer Nachricht verwendet man RegEx (Regular Expression) das genaue Suchmuster für Discord Links wurde mir glücklicher Weise direkt von einem Communitymitglied mit geliefert.

Letztlich sieht dann die Suche wie folgt aus:

let DiscordInvite = /(https:\/\/)?(www\.)?(discord\.gg|discord\.me|discordapp\.com\/invite|discord\.com\/invite)\/([a-z0-9-.]+)?/i;
DiscordInvite = DiscordInvite.exec(message.content);

Dies gibt in dann in DiscordInviteein Array mit diversen Informationen zum gefundenen Link aus. Der Link selbst befindet sich dabei auf Position 0.

discordInvite = discordInvite[0];

Der Erste Teil meines Ziels war somit Erreicht. Möchte man übrigens nur feststellen, ob ein Link vorhanden ist, kann man auch einfach nur

DiscordInvite = DiscordInvite.test(message.content);

nutzen. Hier bekommt man dann ein true bzw. false.

Die letztlichen Informationen über den Zielserver kann man dann über

client.fetchInvite(discordInvite).then(invite => { }

abrufen. invite.guild.id liefert dann zum Beispiel die ID des Zielservers, invite.guild.name den Namen, und so weiter.

Ich hoffe ich konnte mit diesem kurzen Abriss dem Einen oder Anderen helfen. In diesem Sinne viel Spaß mit eurem Discord Bot.

WordPress: Discord Embed und der Autorenname

WordPress: Discord Embed und der Autorenname

Discord bzw. WordPress hat mich gestern mal wieder fast zur Verzweiflung gebracht.

Schickt man einen Link zu einer WordPress Seite über Discord, werden ein Teil der Informationen der Seite als „Embed“ in Discord angezeigt.
Eine wunderbare Funktion, wie ich finde.

Allerdings musste ich feststellen, dass bei der Verlinkung von fixen Seiten immer wieder der Name des Autors auftauchte, obwohl er auf der Seite selbst komplett ausgeblendet ist.

So sollte die Darstellung nicht aussehen.

Bei Blogeinträgen ist das ja verständlich und auch nachvollziehbar, aber bei festen Unterseiten des Blogs möchte ich das nicht.

Doch weder im Code, noch in Funktionen war diese Einblendung vorhanden. Zumindest habe ich nichts gefunden.

Dabei wollte ich nur, dass Verlinkungen zu diesen Seiten so aussehen:

Lange Rede, kurzer Sinn, ich habe mir fast die Finger wund gesucht. Ständig wurden Eingriffe in den Code beschrieben, die allerdings nach jedem update wieder neu erfolgen müssten.

Nachdem ich mich gefühlt durch 100 Weiterverlinkungen durch diverse Foren geklickt hatte, wurde ich dann aber doch noch fündig.

Es war im Grunde so einfach. Es wurde dort gesagt, ich solle einfach nur das Plugin „Disable Embeds“ installieren. – So einfach sollte das sein? – Naja mal ausprobieren und siehe da

So möchte ich es haben.

Ein Traum! Der einzige Nachteil ist, dass die Embeds auch für die eigene Seite deaktiviert sind.
Es wird also keine kleine Vorschau von Links mehr in den Artikel geladen, wenn man Links einbindet.

Ich hoffe ich konnte hiermit dem Ein oder Anderen die Sucherei ersparen.

Archive

Diese Seite benutzt Cookies, um die Nutzerfreundlichkeit zu verbessern. Mit der weiteren Verwendung stimmst du dem zu. Datenschutzerklärung