A NodeJS application that pushes weather notification over Telegram

A NodeJS application that pushes weather notification over Telegram

A NodeJS application that pushes weather notification over Telegram Bot .The application is powered by Github Actions to automatically push weather notification to a personal telegram bot at specific intervals. It is built on Javascript making use of NodeJS libraries.

A NodeJS application that pushes weather notification over Telegram Bot

The application is powered by Github Actions to automatically push weather notification to a personal telegram bot at specific intervals. It is built on Javascript making use of NodeJS libraries.

📖 Usage

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You will need the below installed on your computer

Cloning the repository

$ git clone https://github.com/richierich25/weather-bot.git
$ cd weather-bot
$ npm i 

💨 Configuration

  1. Create a file called .env in the root directory of your project. OR Note: Instead of creating a .env file, create a replica of the env.example file provided

    $ cp env.example .env
  2. Inside the .env file, add key WEATHER_API_TOKEN obtained from OpenWeather App. One must create an account and copy the API Key from My API Key Section.

      WEATHER_API_TOKEN = "YOUR OPEN WEATHER API TOKEN HERE"
  3. Inside the .env file, add key TELEGRAM_TOKEN and TELEGRAM_CHAT_ID obtained from Telegram Bots App. Follow the below steps:

    • Click BotFather and open in either Telegram Desktop or Mobile App(search for @BotFather)
    • After opening it, press start and type /newbot
    • Provide a name and a username for the bot. ensure it ends with bot at its end, for instance Richierich25_bot
    • It will provide a link to the newly created bot and provide the HTTP API Key or TELEGRAM_TOKEN. Open the link provided. important as the bot has to be started for it to receive messages later
    • Press start or to start chatting with the newly created bot
    • To obtain the TELEGRAM_CHAT_ID, search for the @get_id_bot account and pressstart
    • it will provide you your chat id
      TELEGRAM_TOKEN = "YOUR TELEGRAM TOKEN HERE"
      TELEGRAM_CHAT_ID = "YOUR TELEGRAM CHAT ID HERE"
  4. Inside the index.js, set the id corresponding to your city obtained from here.

    • Enter your desired city name and press search, for instance, Delhi
    • Open the first link that pops below
    • Now from the URL, obtain the id of the format https://openweathermap.org/city/1273294 where 1273294 will be the ID corresponding to the city
      weatherURL.searchParams.set('id', '1273294');  // use the desired id here

🖥️ Deployment

When you are done with the setup, and have tested locally, we recommend you to deploy it using Github Actions. We highly recommend to read through the Using Github Actions docs.

  1. Inside the .github/workflows/run-weather-bot.yml file, set the desired time interval in CRON FORMAT after which you wish the Application to execute and push further notifications

      schedule:
        - cron: '0 */3 * * *' #after every 3 hours
  2. Adding API Tokens and Secrets into the repository

    • Open your repository with the application code
    • Click on Settings from the Github Menu options
    • Press Secrets from the left section
    • Press New Secret and add your tokens one by one by giving it a suitable Name and Value
    • Add WEATHER_API_TOKEN, TELEGRAM_TOKEN and TELEGRAM_CHAT_ID

🛠️ Technology Used

  • NodeJS
  • Javascript

🤝 Contributing

If you wish to contribute and make it much better for other developers, please have a look at Issues.

  • Add UI for selecting custom City
  • Customize the message notification

If you can help us with these. Please don't hesitate to open a pull request.

We encourage you to contribute. Please check out the Contributing guide for guidelines on how to proceed.

Download Details:

Author: richierich25

Source Code: https://github.com/richierich25/weather-bot

nodejs node javascript

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Node canvas is a Cairo backed Canvas implementation for NodeJS.

node-canvas is a Cairo-backed Canvas implementation for Node.js.

How to Hire Node.js Developers And How Much Does It Cost?

A Guide to Hire Node.js Developers who can help you create fast and efficient web applications. Also, know how much does it cost to hire Node.js Developers.

Hire NodeJs Developer

Looking to build dynamic, extensively featured, and full-fledged web applications? **[Hire NodeJs Developer](https://hourlydeveloper.io/hire-dedicated-node-js-developer/ "Hire NodeJs Developer")** to create a real-time, faster, and scalable...

Decoding Nodejs

The main goal of this blog is to explain the “Architecture of Nodejs” and to know how the Nodejs works behind the scenes. Generally, most of the server-side languages, like PHP, ASP.NET, Ruby, and including Nodejs follows multi-threaded architecture. That means for each client-side request initiates a new thread or even a new process.

Node.js for Beginners - Learn Node.js from Scratch (Step by Step)

Node.js for Beginners - Learn Node.js from Scratch (Step by Step) - Learn the basics of Node.js. This Node.js tutorial will guide you step by step so that you will learn basics and theory of every part. Learn to use Node.js like a professional. You’ll learn: Basic Of Node, Modules, NPM In Node, Event, Email, Uploading File, Advance Of Node.