บอท Discord นี้ให้ข้อมูลสภาพอากาศจาก FHDW Weatherstation บอทสามารถสมัครรับข้อมูลและยกเลิกการสมัครรับข้อมูลเพื่อรับการอัปเดตสภาพอากาศแสดงรายการช่องที่สมัครสมาชิกปัจจุบันและยกเลิกการสมัครทุกช่องทางพร้อมกัน
จุดมุ่งหมายของที่เก็บนี้คือการให้ตัวอย่างที่ครอบคลุมเกี่ยวกับวิธีการรวมข้อมูลจากอุปกรณ์ปลายทางในสิ่งที่สแต็กลงในบอทแบบ discord โดยใช้โปรโตคอล MQTT ด้วยการทำเช่นนั้นจะเชื่อมช่องว่างระหว่างอุปกรณ์ IoT โดยใช้เทคโนโลยี Lorawan และแพลตฟอร์มการสื่อสารยอดนิยม Discord สิ่งนี้ช่วยให้ผู้ใช้และชุมชนได้รับการอัปเดตแบบเรียลไทม์จากอุปกรณ์ IoT ของพวกเขาเช่นข้อมูลสภาพอากาศโดยตรงในช่องสัญญาณ Discord ของพวกเขาโดยตรง
จากการสาธิตนี้ที่เก็บจะพยายามเพิ่มขีดความสามารถให้กับนักพัฒนาและผู้ที่ชื่นชอบในการสำรวจศักยภาพของการรวมข้อมูล IoT เข้ากับ Discord โครงการนี้ทำหน้าที่เป็นรากฐานสำหรับการสร้างแอพพลิเคชั่นที่ซับซ้อนยิ่งขึ้นซึ่งใช้ประโยชน์จากข้อมูล Lorawan ในรูปแบบที่เป็นนวัตกรรม ในที่สุดพื้นที่เก็บข้อมูลนี้มีวัตถุประสงค์เพื่อสร้างแรงบันดาลใจให้ชุมชนค้นหาวิธีการใหม่และสร้างสรรค์ในการใช้ข้อมูล IoT และเพิ่มขีดความสามารถของบอทที่ไม่ลงรอยกัน
การรวมข้อมูลจากสิ่งต่าง ๆ สแต็กลงในบอทแบบไม่ลงรอยกันนั้นทำได้โดยใช้โปรโตคอล MQTT ซึ่งเป็นโปรโตคอลการส่งข้อความที่มีน้ำหนักเบาและมีประสิทธิภาพที่ออกแบบมาสำหรับอุปกรณ์ IoT MQTT ช่วยให้การถ่ายโอนข้อมูลที่ปลอดภัยและเชื่อถือได้ระหว่างอุปกรณ์ปลายทางและบอท Discord ด้วยการสมัครรับหัวข้อที่เหมาะสมในสิ่งที่สแต็ก Discord Bot สามารถรับข้อมูลที่ส่งโดยอุปกรณ์ IoT
รหัสที่จำเป็นถูกฝังอยู่ใน mqttHandler.js การบูรณาการทำได้โดยทำตามขั้นตอนเหล่านี้:
createMqttClient จากไฟล์ mqttHandler.js ใน index.jsconfig.jsoncreateMqttClient() ในไฟล์ index.js และให้ข้อมูลรับรองที่จำเป็นและฟังก์ชั่นการโทรกลับเพื่อจัดการข้อความที่ได้รับcreateMqttClient() ตั้งค่าไคลเอนต์ MQTT โดยเชื่อมต่อกับสิ่งต่าง ๆ สแต็กและสมัครรับหัวข้อที่ระบุindex.js :createWeatherEmbed()dataStoragedataStorageโดยการทำความเข้าใจกระบวนการนักพัฒนาสามารถสร้างความรู้นี้สำหรับโครงการในอนาคตที่เกี่ยวข้องกับอุปกรณ์ IoT การรวมทำหน้าที่เป็นเทมเพลตสำหรับแอปพลิเคชันต่าง ๆ เช่นการเชื่อมต่ออุปกรณ์ IoT กับแพลตฟอร์มที่แตกต่างกันการแปลงและการประมวลผลข้อมูลและการสร้างการแจ้งเตือนที่กำหนดเองหรือการแจ้งเตือน ตัวอย่างนี้แสดงให้เห็นว่า MQTT สามารถใช้เป็นเครื่องมือที่ทรงพลังในการเชื่อมช่องว่างระหว่างอุปกรณ์ IoT และแอพพลิเคชั่นอื่น ๆ ส่งเสริมโซลูชั่นที่เป็นนวัตกรรมและบูรณาการมากขึ้นสำหรับอินเทอร์เน็ตของสิ่งต่าง ๆ
ไปที่พอร์ทัลนักพัฒนา Discord และลงชื่อเข้าใช้กับบัญชี Discord ของคุณ
คลิกที่ปุ่ม "แอปพลิเคชันใหม่" ให้ชื่อแอปพลิเคชันของคุณแล้วคลิก "สร้าง"
ในการตั้งค่าของแอปพลิเคชันคลิกที่แท็บ "บอท" จากนั้นคลิกที่ปุ่ม "เพิ่มบอท" เพื่อสร้างบอทสำหรับแอปพลิเคชันของคุณ ยืนยันโดยคลิก "ใช่ทำ!"
ในแท็บ "บอท" ตรวจสอบให้แน่ใจว่า "ความตั้งใจเนื้อหาข้อความ" ถูกตั้งค่าเป็น 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=10885556443333867069&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. ในการเริ่มต้นบอท Run:
... 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 ลองดูคู่มือนี้
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT