THN Discord Bot

GitHub-Repo des Projekts

profil

Während des Studiums und sogar jetzt nutzen ich und fast alle meine Freunde Discord als eine unserer Hauptplattformen für soziale Nachrichten. Zu dieser Zeit und auch jetzt wollte ich über Cybersecurity-Nachrichten auf dem Laufenden bleiben. Also dachte ich, als ein lustiges Projekt, dass mein Freund und ich einen Discord-Bot erstellen würden, der Cybersecurity-Nachrichten von The Hacker News in einen Discord-Server repostet. Ich präsentierte die Idee meinem Freund und er fand die Idee großartig, also begannen wir mit der Entwicklung.

The Hacker News (THN) ist eine Cybersecurity-Nachrichtenseite. Jetzt ist THN NICHT Hacker News. Es gab einige Kontroversen darüber, wie der Name “The Hacker News” dem von “Hacker News” sehr ähnlich ist, was eine sehr beliebte und legendäre soziale Nachrichten-Website ist, die sich auf technisches Unternehmertum konzentriert. Aber als jemand, der The Hacker News ständig nutzt, glaube ich, dass The Hacker News eine gute Quelle für Cybersecurity-Nachrichten ist.

Während ich an diesem Projekt arbeitete, war eine Herausforderung, die ich hatte, einen Weg zu finden, um die Nachrichten von THN zu extrahieren. Die einzigen verfügbaren Optionen waren entweder die Verwendung der Twitter-API oder das Web-Scraping von THN. Ich verbrachte einige Zeit damit, die Twitter-API zum Laufen zu bringen, gab aber auf, weil Twitter es wirklich schwierig machte, ihre API einzurichten und zu verwenden. Also entschied ich mich stattdessen für das Web-Scraping von THN. Da der Code in Python geschrieben werden sollte, verwendete ich die Bibliotheken requests und beautifulsoup4 für das Web-Scraping.

Mit dem funktionierenden Scraper war das nächste, was wir angegangen sind, der Discord-Bot. Einen Discord-Bot zu erstellen und bereitzustellen ist sehr einfach. Also bekamen wir den Bot schnell in weniger als einem Tag zum Laufen. Wir richteten auch während dieses Zeitrahmens den Discord-Server ein.

Eine Funktion, die wir als “Filter”-Funktion hinzugefügt haben. Diese Funktion würde THN-Artikel nach “apple-news”, “google-news”, “linux-news” und/oder “microsoft-news” sortieren. Sie würde diese Arten von Nachrichten in ihre eigenen Kanäle sortieren. Es gab immer noch einen “alle”-Kanal, der alle Artikel enthielt, aber wir fanden diese Funktion schön, weil sie die Arten einigermaßen sortierte und nicht so herausfordernd zu erstellen war.

Wissen Sie all dies, hier ist eine allgemeine Vorstellung davon, wie der Discord-Bot funktionierte:

  1. Jede Stunde würde er THN scrapen und wichtige Informationen über einen Artikel extrahieren. Diese Informationen umfassten: Titel, Details, Datum und die URL des Artikels.
  2. Der Bot würde dann seine Nachrichtenhistorie im Server überprüfen, um zu sehen, welche Artikel er gescrapt hat, die neu sind. Dies stellt sicher, dass der Bot keine Artikel erneut postet, die er bereits gepostet hat.
  3. Er wird die neuen Artikel nach bestimmten Themen filtern, wie oben erklärt.
  4. Mit allen gesammelten und gefilterten Artikeln würde der Bot dann die URL jedes Artikels in seinen Discord-Server sowie in die entsprechenden Kanäle posten.
  5. Nach all dem wartet der Bot eine weitere Stunde, um die gleichen Schritte erneut auszuführen.

Alles in allem wurde der Discord-Bot vollständig in Python geschrieben und verwendete die folgenden 3rd-Party-Pakete: beautifulsoup4, requests, discord.py und python-dotenv. Außerdem wurde der Discord-Bot auf meinem Raspberry Pi 3 B+ gehostet, der das 32-Bit-Raspberry-Pi-OS Lite ausführt. Wir würden den Bot so ausführen:

# den Bot im Hintergrund ausführen
python3 bot.py &

Nachdem wir den Bot und den Server eingerichtet hatten, teilten wir unser Projekt mit all unseren Freunden und Klassenkameraden. Innerhalb einer Woche traten etwa 25 Personen dem Server bei.

Aber nach ein paar Monaten bemerkten wir, dass die Leute den Server nicht wirklich nutzten und die meisten von ihnen entweder den Server verlassen oder alle Kanäle im Server stummgeschaltet hatten. Der Hauptgrund, warum sie dies taten, war, dass die meisten Benutzer mehr persönliche und benutzerdefinierte Filteroptionen wollten und die meisten von ihnen sich nicht so sehr für Cybersecurity interessierten.

Aus diesem Grund beschlossen wir, den Discord-Server zu schließen. Dieses Projekt lief von Februar 2022 bis Mai 2022 und schloss offiziell am 25. Mai 2022. An diesem Tag stoppten wir den Bot, löschten den Discord-Server, löschten das Discord-Bot-Konto, das wir für dieses Projekt erstellt hatten, und machten den Code vollständig Open Source. Sie können den Code hier einsehen: https://github.com/MehmetMHY/thn-discord-bot

Alles in allem. Dies war ein lustiges Projekt und wir haben viel gelernt. Außerdem wussten wir zu diesem Zeitpunkt nicht, dass dieses Projekt der ursprüngliche Start/version für unser bisher größtes Projekt war: Notify-Cyber.