Spreadsheet to Telegram

Berikut ini adalaah script untuk memindahkan data dari spreadsheet ke dalam grup telegram. Langkahnya adalah sebagai berikut:

  1. Buat sebuah google spreadsheet dengan nama tertentu dan dengan data yang ingin dikirimkan atau di eksport ke dalam sebuah grup telegram;
  2. Ketuk menu Ekstensi dan ketuk sub menu Apps script kemudian beri nama.
  3. Salin semua script yang sudah kami sediakan di bawah dan paste atau tempelkan ke dalam app script yang sudah anda siapkan. Pastikan anda hapus dulu isi script tersebut sampai bersih sebelum anda menempelkan script di bawah.
  4. Sekarang masuk ke dalam teleegram dan buat sebuah grup
  5. Masuk ke dalam @botfather dan buat sebuah telegrambot kemudian gabungkan telegrambot tersebut ke dalam grup yang sudah dibuat dan jadikan sebagai admin.
  6. Agar anda bisa mengetahui chat_ID dari grup tersebut, masukan ke dalam grup tersebut username ini @RawDataBot atau yang ini @get_id_bot, dan setelah anda mendapatkan chat_ID dari grup tersebut, anda boleh mengeluarkan dan menghapus @RawDataBot atau @get_id_bot dari grup tersebut.
  7. Dengan membuat telegrambot di @botfather maka anda sudah mendapatkan token telegram. Dan dengan memasukkan @RawDataBot atau @get_id_bot ke dalam grup, anda sudah mendapatkan chat_ID dari grup. Dan dengan membuat sebuah spreadsheet, maka anda pun sudah mendapatkan ID_spreadsheet. Semua kode tersebut harus dimasukkan ke dalam script sesuai dengan penjelasan yang ada.

Penjelasan detail bisa anda lihat dalm video di bawah:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Jalankan')
    .addItem('Kirim ke Telegram', 'getDataAndSendToTelegramBot')
    .addToUi();
}

function getDataAndSendToTelegramBot() {
  // Kode yang sama seperti sebelumnya
  // ...
}


function getDataAndSendToTelegramBot() {
  var token = "TOKEN_TELEGRAM";
  var chatId = "CHAT_ID";
  var spreadsheetId = "ID_SPREADSHEET";
  var sheetName = "NAMA_SHEET";

  var columnIndices = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,]; // Indeks kolom yang ingin diambil (A, B, D, C, E)

  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
  var sheet = spreadsheet.getSheetByName(sheetName);

  var lastRow = sheet.getLastRow();
  var headerRange = sheet.getRange(1, 1, 1, sheet.getLastColumn()); // Rentang untuk baris header
  var headerValues = headerRange.getValues()[0]; // Mengambil nilai header dalam satu dimensi

  var dataRange = sheet.getRange(2, 1, lastRow - 1, columnIndices.length); // Mengambil data dari baris 2 hingga terakhir, dengan jumlah kolom yang ditentukan
  var dataValues = dataRange.getValues();

  var sentData = getSentDataFromProperties(); // Mendapatkan data yang sudah dikirim sebelumnya

  var newData = [];

  // Memeriksa setiap baris data baru
  for (var i = 0; i < dataValues.length; i++) {
    var rowData = dataValues[i];

    // Memeriksa apakah baris data sudah pernah dikirim sebelumnya
    if (!isDataSent(rowData, sentData)) {
      newData.push(rowData); // Menyimpan baris data yang belum pernah dikirim sebelumnya
    }
  }

  // Mengirim data yang belum pernah dikirim sebelumnya ke Telegram
  sendNewDataToTelegramBot(token, chatId, newData, headerValues, columnIndices);

  // Menyimpan data yang sudah dikirim ke Properties
  saveSentDataToProperties(newData, sentData);
}

function isDataSent(rowData, sentData) {
  // Memeriksa apakah baris data sudah pernah dikirim sebelumnya berdasarkan kolom-kolom yang relevan
  for (var i = 0; i < sentData.length; i++) {
    var sentRow = sentData[i];
    var isMatch = true;

    for (var j = 0; j < sentRow.length; j++) {
      if (rowData[j].toString() !== sentRow[j].toString()) {
        isMatch = false;
        break;
      }
    }

    if (isMatch) {
      return true; // Data sudah pernah dikirim sebelumnya
    }
  }

  return false; // Data belum pernah dikirim sebelumnya
}

function sendNewDataToTelegramBot(token, chatId, newData, headerValues, columnIndices) {
  var message = "";

  // Menampilkan nama header diikuti dengan data pada setiap baris yang belum pernah dikirim sebelumnya
  for (var i = 0; i < newData.length; i++) {
    var rowData = newData[i];

    for (var j = 0; j < headerValues.length; j++) {
      var headerValue = headerValues[j];
      var cellValue = rowData[columnIndices[j] - 1];
      message += headerValue + ": " + cellValue + "\n";
    }

    message += "\n"; // Memberikan spasi antara setiap baris data
  }

  if (message !== "") {
    sendToTelegramBot(token, chatId, message);
  }
}

function sendToTelegramBot(token, chatId, message) {
  var telegramUrl = "https://api.telegram.org/bot" + token + "/sendMessage";

  var payload = {
    "method": "post",
    "contentType": "application/json",
    "payload": JSON.stringify({
      "chat_id": chatId,
      "text": message
    })
  };

  UrlFetchApp.fetch(telegramUrl, payload);
}

function getSentDataFromProperties() {
  var sentData = [];

  // Mendapatkan data yang sudah dikirim sebelumnya dari Properties
  var properties = PropertiesService.getUserProperties();
  var sentDataString = properties.getProperty("sentData");

  if (sentDataString) {
    sentData = JSON.parse(sentDataString);
  }

  return sentData;
}

function saveSentDataToProperties(newData, sentData) {
  sentData.push.apply(sentData, newData); // Menggabungkan data yang sudah dikirim sebelumnya dengan data baru

  // Menyimpan data yang sudah dikirim ke Properties
  var properties = PropertiesService.getUserProperties();
  properties.setProperty("sentData", JSON.stringify(sentData));
}



Penjelasan dalam video

MEMINDAHKAN DATA DARI SPREADSHEET KE DALAM TELEGRAM MENGGUNAKNA SCRIPT
JIKA BELUM BISA MEMBUAT TOKEN, SILAHKAN PELAJARI @BOTFATHER
CUKUP KETIK “OKE”, DATA DARI SSPREADSHEET LANGSUNG PINDAH KE GRUP TELEGRAM

Telegram Basic-4

Menubuilder merupakan fasilitas gratis yang tersedia dalam telegram.

Dia memiliki banyak fungsi:

  1. Untuk membuat chatbox robot dimana kita bisa menyediakan menu-menu yang bisa dibuka secara otomatis oleh pengunjung.
  2. Dijadikan tempat pengumpulan data
  3. Tempat membangun network atau jaringan karena sudah tersedia sistem referal
  4. Dan masih banyak fungsi lainnya, tergantung sejauh mana kita bisa berinovasi.

Menubuilder juga menyediakan fasilitas berbayar jika kita membutuhkan fitur-fitur yang lebih lengkap dan kompleks.

Silahkan lihat contoh Telegrambot yang menggunakan menubuilder.

Silahkan anda pelajari panduan videonya di bawah:

Telegram Basic-3

Membuat kata perintah dalam sebuah grup. Fungsi dari kata perintah ini adalah untuk memberikan jawaban cepat kepada penanya yang sering kali menanyakan hal yang sama yang sudah ditanyakan orang lain.

Tentu kita akan repot kalau harus menjawab pertanyaan yang sama berulang-ulang.

Selain itu, anda pun bisa belajar membuat inlinebutton dalam sebuah channel. Silahkan pelajari penjelasan dalam video di bawah:

Materi PDF

Materi Video

Membuat inlinebutton dalam sebuah grup telegram

Cara mengedit inlinebutton dalam sebuah grup telegram

Telegram Basic-2

Materi dalam PDF

Berikut ini adalah materi training tentang telegram dalam bentuk PDF:

Materi Dalam Video

Berikut adalah penjelasan materi training dalam bentuk audiovisual

Clonning Telegrambot versi Android

Clonning telegrambot versi laptop

Tentang @botfather

Grouphelp bagian satu

GroupHelp bagian dua

Membuat Poll dan quiz versi android

Membuat poll dan quiz versi laptop

Telegram Basic-1

Materi Dalam PDF

Telegram merupakan aplikasi yang jauh lebih canggih,lebih lengkap fiturnya, dan lebih aman dibandingkan dengan aplikasi lainnya yang sejenis seperti whatsapp.
Jika anda mau belajar menguasainya, maka anda akan sangat terbantu dalam menjalankan aktifitas atau kegiatan anda dalam dunia pendidikan atau dalam dunia bisnis.

Kelebihan utama dari telegram ini adalah bawah dia menggunakan cloud memory (memori awan) sehingga tidak memenuhi ruang memori di android kita. Beda sekali dengan whatsapp !

Kami sudah menyiapkan panduan-panduan yang berkenaan dengan telegram tersebut dan bisa anda pelajari dengan nyaman.


Materi Dalam Video

Dalam bagian ini anda akan belajar telegram dari dasar:

  • Cara membuat username telegram
  • Cara membuat grup privat telegram
  • Cara membuat grup publik telegram
  • Cara membuat channel privat telegram
  • Cara membuat channel publik telegram
  • Dan lain-lain

Silahkan simak panduan videonya