Este bot da Discord fornece dados climáticos da Weatherstation FHDW. O bot pode assinar e cancelar a inscrição para receber atualizações meteorológicas, listar os canais atualmente inscritos e cancelar a inscrição de todos os canais de uma só vez.
O objetivo deste repositório é fornecer um exemplo abrangente de como integrar dados de um dispositivo final na seleção de coisas em um bot da Discord usando o protocolo MQTT. Ao fazer isso, preenche a lacuna entre os dispositivos IoT usando a tecnologia Lorawan e a plataforma de comunicação popular, Discord. Isso permite que usuários e comunidades recebam atualizações em tempo real de seus dispositivos de IoT, como dados climáticos, diretamente em seus canais Discord.
Através desta demonstração, o repositório busca capacitar desenvolvedores e entusiastas a explorar o potencial de integrar dados da IoT com a Discord. O projeto serve como base para criar aplicativos mais sofisticados que aproveitam os dados de Lorawan de maneiras inovadoras. Por fim, esse repositório pretende inspirar a comunidade a encontrar maneiras novas e criativas de utilizar dados da IoT e aprimorar as capacidades de seus robôs Discord.
A integração de dados da pilha de coisas em um bot da Discord foi alcançada usando o protocolo MQTT, um protocolo de mensagens leve e eficiente projetado para dispositivos IoT. O MQTT permite uma transferência de dados segura e confiável entre o dispositivo final e o Bot Discord. Ao assinar os tópicos apropriados na pilha de coisas, o Bot Discord pode receber os dados transmitidos pelos dispositivos IoT.
O código necessário é implícito no mqttHandler.js . A integração foi alcançada seguindo estas etapas:
createMqttClient do arquivo mqttHandler.js no index.js .config.json .createMqttClient() no arquivo index.js e fornecendo as credenciais necessárias e uma função de retorno de chamada para lidar com mensagens recebidas.createMqttClient() configura o cliente MQTT conectando -se à pilha de coisas e assinando o tópico especificado.index.js :createWeatherEmbed() .dataStorage .dataStorage .Ao entender o processo, os desenvolvedores podem desenvolver esse conhecimento para projetos futuros envolvendo dispositivos de IoT. A integração serve como modelo para vários aplicativos, como conectar dispositivos IoT a diferentes plataformas, transformar e processar os dados e criar alertas ou notificações personalizadas. Este exemplo mostra como o MQTT pode ser usado como uma ferramenta poderosa para preencher a lacuna entre os dispositivos IoT e outros aplicativos, promovendo soluções mais inovadoras e integradas para a Internet das Coisas.
Vá para o portal do Discord Developer e faça login com sua conta Discord.
Clique no botão "Novo aplicativo", forneça um nome ao seu aplicativo e clique em "Criar".
Nas configurações do aplicativo, clique na guia "Bot" e clique no botão "Adicionar bot" para criar um bot para o seu aplicativo. Confirme clicando "Sim, faça!".
Na guia "Bot", verifique se a "intenção do conteúdo da mensagem" está definida como true .
Na seção "Token", clique em "Copiar" para copiar seu token de bot. Mantenha esse token seguro, pois será usado para autenticar seu bot com discórdia.
(Opcional) Personalize o nome do seu bot, a imagem do perfil e outras configurações, conforme desejado. Abrir
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 "
}Exemplo:
{
"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
Exemplo 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. Para começar o bot, execute:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm start3.2. Para executar o bot no modo de desenvolvimento com Nodemon, execute:
... T heThingsNetwork-DiscordBot-FHDW-WeatherData B ot > npm run dev/subscribe [channel] : assine um canal para o FHDW-Weatherstation. Se nenhum canal for fornecido, o canal atual será inscrito./unsubscribe [channel] : cancelar inscrição de um canal do FHDW-Weatherstation. Se nenhum canal for fornecido, o canal atual será inscrito./list : Liste todos os canais atualmente inscritos no FHDW-Weatherstation./unsubscribe_all : Descrenda todos os canais do FHDW-Weatherstation. Para implantar o bot em uma plataforma de hospedagem, siga as instruções específicas da plataforma para aplicativos Node.js. Certifique -se de incluir o arquivo config.json com suas credenciais no pacote de implantação.
Certifique -se de que o arquivo config.json esteja incluído na sua implantação e que seu token de bot e outras informações confidenciais sejam mantidas seguras. Se a plataforma de hospedagem suportar variáveis de ambiente, é recomendável armazenar suas credenciais como variáveis de ambiente, em vez de incluí -las no arquivo config.json.
Por exemplo, você pode implantar o bot para Heroku seguindo estas etapas:
Para obter instruções mais detalhadas sobre a implantação de um Bot Discord em Heroku, consulte este guia.
Este projeto está licenciado sob a licença do MIT.