Skip to content

Instantly share code, notes, and snippets.

@josinSbazin
Last active January 18, 2018 11:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save josinSbazin/0fee4e67b05c1727adeff721486c593b to your computer and use it in GitHub Desktop.
Save josinSbazin/0fee4e67b05c1727adeff721486c593b to your computer and use it in GitHub Desktop.
Presentation
function doPost(e) {
var files = DriveApp.getFilesByName('GoogleScriptTeleg');
var file = files.next();
var spreadsheet = SpreadsheetApp.open(file);
var update = JSON.parse(e.postData.contents);
if ('message' in update) {
var msg = update.message;
var chatId = msg.chat.id;
if (msg.text == '/start') {
sendMessage('Пришлите сообщение, я его переведу и запишу в таблицу: ' + spreadsheet.getName(), chatId);
} else {
var origText = msg.text;
var transText = translate(origText);
writeToSpreadsheet(origText, transText, spreadsheet);
sendMessage(transText, chatId);
}
}
}
// Отправить сообщение
function sendMessage(message, chatId) {
var result = {
'method':'sendMessage',
'chat_id':String(chatId),
'text':message
}
var data = {
'method':'post',
'payload':result
}
UrlFetchApp.fetch('https://api.telegram.org/bot' + getToken() + '/', data)
}
// Перевести текст на английский
function translate(text) {
var sourceLang = 'ru';
var transLang = 'en';
return LanguageApp.translate(text, sourceLang, transLang);
}
// Записать в таблицу
function writeToSpreadsheet(origText, transText, spreadsheet) {
var sheet = spreadsheet.getSheets()[0];
var lastRow = sheet.getLastRow() + 1;
sheet.setActiveSelection('A' + lastRow).setNumberFormat('@STING@').setValue(origText);
sheet.setActiveSelection('B' + lastRow).setNumberFormat('@STING@').setValue(transText);
}
function getToken() {
return 'key';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment