Я пытался создать бота Telegram, который будет искать в существующей базе данных и выводить информацию на основе поискового запроса. По сути, я хочу, чтобы бот просто получил через Telegram текст с номером счета-фактуры и вывел всю соответствующую информацию, относящуюся к этому заказу. (Вся строка информации).
Поскольку я имею дело с номерами счетов-фактур и номерами отслеживания, иногда бот экспортирует неверную информацию, если текущий скрипт не соответствует точному тексту или указанному столбцу c.
Например, вместо того, чтобы искать и находить номер счета-фактуры, он выбирает частичное совпадение с номером отслеживания и выводит неверную информацию.
Я хотел бы настроить его для поиска указанного c столбец, ie. Столбец 3 - «Счет-фактура №», а затем выведите всю строку информации.
Заранее спасибо!
Я работаю в Google App Script:
var token = "";
var telegramUrl = "https://api.telegram.org/bot" + token;
var webAppUrl = "";
var ssId = "";
function getMe() {
var url = telegramUrl + "/getMe";
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function setWebhook() {
var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function sendText(id,text) {
var url = telegramUrl + "/sendMessage?chat_id=" + id + "&text=" + text;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText());
}
function doGet(e) {
return HtmlService.createHtmlOutput("Hi there");
}
function doPost(e) {
var data = JSON.parse(e.postData.contents);
var text = data.message.text;
var id = data.message.chat.id;
var name = data.message.chat.first_name + " " + data.message.chat.last_name;
var answer = "Hi " + name + ", please enter invoice number.";
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Orders");
var search_string = text
var textFinder = sheet.createTextFinder(search_string)
var search_row = textFinder.findNext().getRow();
var value = SpreadsheetApp.getActiveSheet().getRange("F"+search_row).getValues();
var value_a = SpreadsheetApp.getActiveSheet().getRange("G"+search_row).getValues();
sendText(id,value+" "+ value_a)
}