skip to Main Content

Is it possible to send form data to telegram using Javascript?
I read many answers but almost all are php based.

2

Answers


  1. You can use the Telegram API to send messages.

    Login or Signup to reply.
  2. Yes you can program your telegram bot and send any message using javascript (using AJAX since the telegram bot api is a web request based api).

    For example, you send message to a specific user by this:

    let tg = {
        token: "BOT_TOKEN", // Your bot's token that got from @BotFather
        chat_id: "CHAT_ID" // The user's(that you want to send a message) telegram chat id
    }
    
    /**
     * By calling this function you can send message to a specific user()
     * @param {String} the text to send
     *
    */
    function sendMessage(text)
    {
        const url = `https://api.telegram.org/bot${tg.token}/sendMessage?chat_id=${tg.chat_id}&text=${text}`; // The url to request
        const xht = new XMLHttpRequest();
        xht.open("GET", url);
        xht.send();
    }
    
    // Now you can send any text(even a form data) by calling sendMessage function.
    // For example if you want to send the 'hello', you can call that function like this:
    
    sendMessage("hello");
    

    Also you can use POST request to send data. For example:

    let tg = {
        token: "BOT_TOKEN", // Your bot's token that got from @BotFather
        chat_id: "CHAT_ID" // The user's(that you want to send a message) telegram chat id
    }
    
    /**
     * By calling this function you can send message to a specific user()
     * @param {String} the text to send
     *
    */
    function sendMessage(text)
    {
        const url = `https://api.telegram.org/bot${tg.token}/sendMessage` // The url to request
    
        const obj = {
            chat_id: tg.chat_id, // Telegram chat id
            text: text // The text to send
        };
    
        const xht = new XMLHttpRequest();
        xht.open("POST", url, true);
        xht.setRequestHeader("Content-type", "application/json; charset=UTF-8");
        xht.send(JSON.stringify(obj));
    }
    
    // Now you can send any text(even a form data) by calling sendMessage function.
    // For example if you want to send the 'hello', you can call that function like this:
    
    sendMessage("hello");
    

    For more information see telegram bot api documentation: https://core.telegram.org/bots/api

    Sorry for my bad English. Anyway, I hope this helps 🙂

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search