Dieser Discord Bot liefert Wetterdaten aus der FHDW Weatherstation. Der Bot kann Kanäle abonnieren und abmelden, um Wetteraktualisierungen zu erhalten, die derzeit abonnierten Kanäle aufzulisten und alle Kanäle gleichzeitig abzuschreiben.
Das Ziel dieses Repositorys ist es, ein umfassendes Beispiel dafür zu geben, wie Daten von einem Endgerät in die Dinge in einen Discord -Bot mit dem MQTT -Protokoll in den Stapel in einen Discord -Bot integriert werden. Auf diese Weise überbrückt es die Lücke zwischen IoT -Geräten mithilfe der Lorawan -Technologie und der beliebten Kommunikationsplattform Discord. Auf diese Weise können Benutzer und Gemeinden Echtzeit-Updates von ihren IoT-Geräten wie Wetterdaten direkt in ihren Discord-Kanälen erhalten.
Durch diese Demonstration versucht das Repository, Entwickler und Enthusiasten zu befähigen, das Potenzial der Integration von IoT -Daten mit Discord zu untersuchen. Das Projekt dient als Grundlage für die Schaffung von ausgefeilteren Anwendungen, die Lorawan -Daten auf innovative Weise nutzen. Letztendlich soll dieses Repository die Community dazu inspirieren, neue und kreative Wege zu finden, um IoT -Daten zu nutzen und die Fähigkeiten ihrer Discord -Bots zu verbessern.
Die Integration von Daten aus dem Dings -Stapel in einen Discord -Bot wurde mit dem MQTT -Protokoll erreicht, einem leichten und effizienten Messaging -Protokoll für IoT -Geräte. MQTT ermöglicht eine sichere und zuverlässige Datenübertragung zwischen dem Endgerät und dem Discord Bot. Durch Abonnieren der entsprechenden Themen in den Dingen Stack kann der Discord Bot die von den IoT -Geräten übertragenen Daten empfangen.
Der notwendige Code ist im mqttHandler.js impliziert. Die Integration wurde erreicht, indem folgende Schritte durchgeführt wurden:
createMqttClient aus der Datei mqttHandler.js in der index.js .config.json bereitstellen.createMqttClient() in der Datei index.js aufrufen und die erforderlichen Anmeldeinformationen und eine Rückruffunktion für die Verarbeitung empfangener Nachrichten bereitstellen.createMqttClient() legt den MQTT -Client ein, indem sie eine Verbindung zu den Dingen stapeln und mit dem angegebenen Thema abonniert.index.js -Datei definierten Rückruffunktion:createWeatherEmbed() aufrufen.dataStorage -Modul gespeicherten Kanal -IDs durcharbeiten.dataStorage -Modul.Durch das Verständnis des Prozesses können Entwickler auf diesem Wissen für zukünftige Projekte mit IoT -Geräten aufbauen. Die Integration dient als Vorlage für verschiedene Anwendungen, z. B. das Verbinden von IoT -Geräten mit verschiedenen Plattformen, die Transformation und Verarbeitung der Daten sowie das Erstellen von benutzerdefinierten Warnungen oder Benachrichtigungen. Dieses Beispiel zeigt, wie MQTT als leistungsstarkes Werkzeug verwendet werden kann, um die Lücke zwischen IoT -Geräten und anderen Anwendungen zu schließen und innovativere und integrierte Lösungen für das Internet der Dinge zu fördern.
Gehen Sie zum Discord Developer -Portal und melden Sie sich mit Ihrem Discord -Konto an.
Klicken Sie auf die Schaltfläche "Neue Anwendung", geben Sie Ihrer Anwendung einen Namen und klicken Sie dann auf "Erstellen".
Klicken Sie in den Einstellungen der Anwendung auf die Registerkarte "Bot" und klicken Sie dann auf die Schaltfläche "Bot hinzufügen", um einen Bot für Ihre Anwendung zu erstellen. Bestätigen Sie, indem Sie auf "Ja, mach es!".
Stellen Sie auf der Registerkarte "Bot" sicher, dass die Absicht "Nachrichteninhalt" auf true eingestellt ist.
Klicken Sie unter dem Abschnitt "Token" auf "Kopieren", um Ihr Bot -Token zu kopieren. Bewahren Sie diesen Token sicher, da es verwendet wird, um Ihren Bot mit Zwietracht zu authentifizieren.
(Optional) Passen Sie den Namen Ihres Bots, das Profilbild und andere Einstellungen wie gewünscht an. Offen
git clone https://github.com/yourusername/FHDW-Weatherstation-Discord-Bot.git... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm install You might have to navigate to the Bot directory before running `npm install`.
To navigate use `cd folder_name`
{
"token" : " your_discord_bot_token " ,
"clientId" : " your_discord_bot_client_id " ,
"guildId" : " your_discord_server_guild_id " ,
"ttnAppUser" : " your_ttn_app_user " ,
"ttnAppPw" : " your_ttn_app_pw " ,
"ttnAdress" : " your_ttn_address " ,
"ttnAppDevice" : " your_ttn_app_device "
}Beispiel:
{
"token" : " AAA0000aaa000AAAA000AA.AAA00AAA.aaa-AaaaaAA0000AAAAAAAAAAaaaAAAA00AAAAAA " ,
"clientId" : " 1234567891234567891 " ,
"guildId" : " 1234567891234567891 " ,
"ttnAppUser" : " hello-world-weather " ,
"ttnAppPw" : " NXYXX.0A0AAAAAAAA0AAAAAAA4AAA00AAAMAAAAAAAAA.AA0AAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA " ,
"ttnAdress" : " mqtts://eu1.cloud.thethings.network:8883 " ,
"ttnAppDevice" : " eui-00a0000aa000a000 "
}https://discord.com/api/oauth2/authorize?client_id=your_discord_bot_client_id&permissions=8&scope=bot
Beispiel fhdw-weather-bot: https://discord.com/api/oauth2/authorize?client_id=1088555644333867069&permissions=8&scope=bot
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > node deploy-commands.js (You might have to restart your Discord-Client afterwards)
3.1. Um den Bot zu starten, rennen Sie:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm start3.2. Um den Bot im Entwicklungsmodus mit Nodemon auszuführen, rennen Sie:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm run dev/subscribe [channel] : Abonnieren Sie einen Kanal für die FHDW-WeatherStation. Wenn kein Kanal bereitgestellt wird, wird der aktuelle Kanal abonniert./unsubscribe [channel] : Abbestellen Sie einen Kanal aus der FHDW-WeatherStation ab. Wenn kein Kanal bereitgestellt wird, wird der aktuelle Kanal abgemeldet./list : Listen Sie alle von der FHDW-WeatherStation abonnierten Kanäle auf./unsubscribe_all : Abbestellen Sie alle Kanäle aus der FHDW-WeatherStation ab. Um den Bot auf einer Hosting-Plattform bereitzustellen, befolgen Sie die plattformspezifischen Anweisungen für Node.js-Anwendungen. Stellen Sie sicher, dass Sie die Datei config.json in Ihre Anmeldeinformationen in das Bereitstellungspaket einbeziehen.
Stellen Sie sicher, dass die Datei config.json in Ihrer Bereitstellung enthalten ist und dass Ihr Bot -Token und andere vertrauliche Informationen sicher bleiben. Wenn die Hosting -Plattform Umgebungsvariablen unterstützt, wird empfohlen, Ihre Anmeldeinformationen als Umgebungsvariablen zu speichern, anstatt sie in die Datei config.json aufzunehmen.
Zum Beispiel können Sie den Bot mit Heroku einsetzen, indem Sie folgende Schritte befolgen:
Weitere detaillierte Anweisungen zum Bereitstellen eines Discord -Bots für Heroku finden Sie in diesem Handbuch.
Dieses Projekt ist unter der MIT -Lizenz lizenziert.