GoogleTableSync

You can post, update and read data from GoogleSpreadSheet with this lib.

Setup

1. Please see setup for GoogleApp lib. This lib requires GoogleApp lib.

2. Create blank Google table. You don't need any headers. Headers will be added automatically.

3. Also you need to run code too:

Libs.GoogleApp.setUrl("https://script.google.com/*************/exec");

If you have any problems with this lib - use help from GoogleApp lib.

Demo bot

Write or update data

Use index for magic!

With index key exist row will be updated!

You need tableID. You can get it from table url. It is selected here:

Bot.sendMessage("Saving...");

var syncOptions = {
  tableID: "1_NldI2**********ank1B9c",
  sheetName: "Users",
  // this column will be used as index for updates or reading
  index: "id",
  // store data
  datas: [],
  // this command will be runned after sync
  onRun: "/onSync",

  // for debug. Comment this lines
  // email: "hello@bots.business",
  // debug: true
}

user.balance = User.getProperty("balance");

syncOptions.datas[0] = user;

// you can add more records with index 
// syncOptions.datas[1] and etc 

Libs.GoogleTableSync.sync(syncOptions);

You can store any data like users, chats, products, resources and etc

Bot.sendMessage("Saving...");

var syncOptions = {
  tableID: "1_NldI2**********ank1B9c",
  sheetName: "Orders",
  // this column will be used as index for updates or reading
  index: "orderId",
  datas: [],
  // this command will be runned after sync
  onRun: "/onSync"
}

var order = {
   orderId: 10,
   title: "Order - " + String(user.id),
   amount: 15
}

syncOptions.datas.push(order);
Libs.GoogleTableSync.sync(syncOptions);

Read data

Bot.sendMessage("Reading...");

var syncOptions = {
  tableID: "1_NldI2**********ank1B9c",
  sheetName: "Users",
  // this column will be used as index for updates or reading
  index: "id",
  // reading data
  datas: [],
  // this command will be runned after sync
  onRun: "/onSync",

  // for debug. Comment this lines
  // email: "hello@bots.business",
  // debug: true
}

syncOptions.datas[0] = user;
// also you can use something like:
// syncOptions.datas[0] = { id: any_user_id }

// you can add more records with index 
// syncOptions.datas[1] and etc 


Libs.GoogleTableSync.read(syncOptions)

Command /onSync

Bot.inspect(options)

Last updated