README.md 1.7 KB

Salesforce RU Careers Control Bot

This is the bot, that converts Salesforce RU Careers from Google Form responses to Telegram posts.

Configuration

  1. Create a new bot
  2. Add bot to your chat/channel. Bot has to be an admin to post message to channel.
  3. Create .env file: BOT_TOKEN=<yout bot token> CHANNEL=@<your channel>
  4. Make docker image
  5. Update docker-compose to use correct image
  6. Add the following script to your Google Form: ```javascript const BOT_URL = "";
  7. const fieldMaps = {

    // <question text>: <field name in code>
    // e.g.:
    "Кого ищете?": "position",
    "Компания": "company",
    "Город": "city",
    "Зарплата": "salary"
    

    } function onSubmit(e) {

    const form = FormApp.getActiveForm();
    const formId = form.getId();
    const allResponses = form.getResponses();
    const latestResponse = allResponses[allResponses.length - 1];
    const responseId = latestResponse.getId();
    const response = latestResponse.getItemResponses();
    const payload = {};
    for (let i = 0; i < response.length; i++) {
        const question = fieldMaps[response[i].getItem().getTitle()];
        const answer = response[i].getResponse();
        payload[question] = answer;
    }
    payload.formId = formId;
    payload.responseId = String(allResponses.length - 1);
    payload.editUrl = latestResponse.getEditResponseUrl();
    
    var options = {
        "method": "post",
        "contentType": "application/json",
        "payload": JSON.stringify(payload)
    };
    UrlFetchApp.fetch(BOT_URL, options);
    

    }; ```

    NB: This instruction is not perfect for sure for multiple reasons. Feel free to contribute to the repo!