Этот бот Discord предоставляет данные о погоде от Weatheration FHDW. Бот может подписаться и отписаться на каналы для получения обновлений погоды, перечислять в настоящее время подписанные в настоящее время каналы и отписать все каналы одновременно.
Цель этого репозитория состоит в том, чтобы дать исчерпывающий пример того, как интегрировать данные с конечного устройства в стек в вещах в бот, используя протокол MQTT. Таким образом, он меняет разрыв между устройствами IoT, используя технологию Lorawan и популярную коммуникационную платформу Discord. Это позволяет пользователям и сообществам получать обновления в режиме реального времени от своих устройств IoT, таких как данные о погоде, непосредственно в их каналах Discord.
Благодаря этой демонстрации репозиторий стремится дать разработчикам и энтузиастам возможность изучить потенциал интеграции данных IoT с Discord. Проект служит основой для создания более сложных приложений, которые используют данные Lorawan инновационными способами. В конечном счете, этот репозиторий направлен на то, чтобы вдохновить сообщество найти новые и творческие способы использования данных IoT и расширить возможности их ботов.
Интеграция данных из стека вещей в бот дискордов была достигнута с использованием протокола MQTT, легкого и эффективного протокола обмена сообщениями, предназначенным для устройств IoT. MQTT допускает безопасную и надежную передачу данных между конечным устройством и ботом Discord. Подписавшись на соответствующие темы в стеке вещей, бот Discord может получать данные, передаваемые устройствами IoT.
Необходимый код заплатил в mqttHandler.js . Интеграция была достигнута с выполнением этих шагов:
createMqttClient из файла mqttHandler.js в index.js .config.json .createMqttClient() в файле index.js и предоставив необходимые учетные данные и функцию обратного вызова для обработки полученных сообщений.createMqttClient() устанавливает клиент MQTT, подключаясь к стеку вещам и подписываясь на указанную тему.index.js :createWeatherEmbed() .dataStorage .dataStorage .Понимая процесс, разработчики могут опираться на эти знания для будущих проектов с участием устройств 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=10885555644333867069&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-Weathertation. Если канал не будет предоставлен, текущий канал будет подписан./unsubscribe [channel] : отписать канал от FHDW-Weathertation. Если канал не будет предоставлен, текущий канал будет отписан./list : Перечислите все каналы в настоящее время подписаны на FHDW-Weathertation./unsubscribe_all : UnsubsBreck Все каналы от FHDW-Weathertation. Чтобы развернуть бота на хостинговой платформе, следуйте инструкциям для приложений Node.js для конкретной платформы. Обязательно включите файл config.json с вашими учетными данными в пакет развертывания.
Убедитесь, что файл config.json включен в ваше развертывание и что ваш токен бота и другая конфиденциальная информация хранятся в безопасности. Если платформа хостинга поддерживает переменные среды, рекомендуется хранить ваши учетные данные в качестве переменных среды, а не включать их в файл config.json.
Например, вы можете развернуть бота в Heroku, выполнив эти шаги:
Для получения более подробных инструкций по развертыванию бота -разногласий в Heroku, ознакомьтесь с этим руководством.
Этот проект лицензирован по лицензии MIT.