يوفر Bot Discord بيانات الطقس من FHDW Weatherstation. يمكن لـ BOT الاشتراك وإلغاء الاشتراك لتلقي تحديثات الطقس ، وسرد القنوات المشتركة حاليًا ، وإلغاء الاشتراك في جميع القنوات في وقت واحد.
الهدف من هذا المستودع هو توفير مثال شامل لكيفية دمج البيانات من جهاز نهائي في الأشياء في روبوت Discord باستخدام بروتوكول MQTT. من خلال القيام بذلك ، فإنه يسد الفجوة بين أجهزة إنترنت الأشياء باستخدام تقنية Lorawan ومنصة الاتصالات الشهيرة ، Discord. يمكّن ذلك المستخدمين والمجتمعات من تلقي التحديثات في الوقت الفعلي من أجهزة إنترنت الأشياء الخاصة بهم ، مثل بيانات الطقس ، مباشرة في قنوات الخلاف الخاصة بهم.
من خلال هذا العرض التوضيحي ، يسعى المستودع إلى تمكين المطورين والعشاق لاستكشاف إمكانات دمج بيانات إنترنت الأشياء مع Discord. يعمل المشروع كأساس لإنشاء تطبيقات أكثر تطوراً تستفيد من بيانات Lorawan بطرق مبتكرة. في نهاية المطاف ، يهدف هذا المستودع إلى إلهام المجتمع لإيجاد طرق جديدة وخلاقة لاستخدام بيانات إنترنت الأشياء وتعزيز قدرات روبوتات الخلاف.
تم تحقيق تكامل البيانات من الأشياء في روبوت Discord باستخدام بروتوكول MQTT ، وهو بروتوكول مراسلة خفيف الوزن وفعال مصمم لأجهزة إنترنت الأشياء. يسمح MQTT بنقل بيانات آمن وموثوق به بين الجهاز النهائي وروبوت Discord. من خلال الاشتراك في المواضيع المناسبة في مكدس الأشياء ، يمكن لبلاب Discord استلام البيانات التي يتم نقلها بواسطة أجهزة إنترنت الأشياء.
يتم التعرف على الرمز الضروري في mqttHandler.js . تم تحقيق التكامل باتباع هذه الخطوات:
createMqttClient من ملف mqttHandler.js في index.js .config.json .createMqttClient() في ملف index.js وتوفير بيانات الاعتماد اللازمة ووظيفة رد الاتصال للتعامل مع الرسائل المستلمة.createMqttClient() بإعداد عميل MQTT عن طريق الاتصال بكدس الأشياء والاشتراك في الموضوع المحدد.index.js :createWeatherEmbed() .dataStorage .dataStorage .من خلال فهم العملية ، يمكن للمطورين البناء على هذه المعرفة للمشاريع المستقبلية التي تتضمن أجهزة إنترنت الأشياء. يعمل التكامل كقالب لتطبيقات مختلفة ، مثل توصيل أجهزة إنترنت الأشياء بمنصات مختلفة ، وتحويل ومعالجة البيانات ، وإنشاء تنبيهات مخصصة أو إشعارات. يوضح هذا المثال كيف يمكن استخدام MQTT كأداة قوية لسد الفجوة بين أجهزة إنترنت الأشياء والتطبيقات الأخرى ، مما يعزز حلولًا أكثر إبداعًا وتكاملاً لإنترنت الأشياء.
انتقل إلى بوابة Discord Developer وتسجيل الدخول مع حساب Discord الخاص بك.
انقر فوق الزر "تطبيق جديد" ، أعط تطبيقك اسمًا ، ثم انقر فوق "إنشاء".
في إعدادات التطبيق ، انقر فوق علامة التبويب "BOT" ، ثم انقر فوق الزر "إضافة BOT" لإنشاء روبوت لتطبيقك. تأكيد بالنقر فوق "نعم ، افعل ذلك!".
في علامة التبويب "BOT" ، تأكد من تعيين "نية محتوى الرسالة" على true .
ضمن قسم "الرمز المميز" ، انقر فوق "نسخة" لنسخ رمز الروبوت الخاص بك. احتفظ بهذا الرمز المميز ، حيث سيتم استخدامه لمصادقة الروبوت الخاص بك بالخلاف.
(اختياري) تخصيص اسم الروبوت الخاص بك وصورة الملف الشخصي والإعدادات الأخرى حسب الرغبة. يفتح
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 "
}مثال:
{
"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
مثال 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. لبدء الروبوت ، قم بتشغيل:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm start3.2. لتشغيل الروبوت في وضع التطوير مع Nodemon ، قم بتشغيل:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm run dev/subscribe [channel] : اشترك في قناة في FHDW-Weatherstation. إذا لم يتم توفير أي قناة ، فسيتم الاشتراك في القناة الحالية./unsubscribe [channel] : إلغاء الاشتراك قناة من FHDW-Weatherstation. إذا لم يتم توفير أي قناة ، فسيتم إلغاء إلغاء وصف القناة الحالية./list : سرد جميع القنوات المشتركة حاليًا في FHDW-Weatherstation./unsubscribe_all : قم بإلغاء الاشتراك في جميع القنوات من FHDW-Weatherstation. لنشر الروبوت على منصة استضافة ، اتبع الإرشادات الخاصة بالنظام الأساسي لتطبيقات Node.js. تأكد من تضمين ملف config.json مع بيانات الاعتماد الخاصة بك في حزمة النشر.
تأكد من تضمين ملف config.json في النشر وأن رمز الروبوت الخاص بك والمعلومات الحساسة الأخرى يتم الحفاظ عليها آمنة. إذا كانت منصة الاستضافة تدعم متغيرات البيئة ، فمن المستحسن تخزين بيانات الاعتماد الخاصة بك كمتغيرات بيئة بدلاً من تضمينها في ملف config.json.
على سبيل المثال ، يمكنك نشر الروبوت على Heroku باتباع هذه الخطوات:
لمزيد من الإرشادات التفصيلية حول نشر روبوت Discord على Heroku ، تحقق من هذا الدليل.
هذا المشروع مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.