Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Telegram Bot || JavaScript

1337roly Профи (679), на голосовании 1 год назад
Помогите решить задачу пожалуйста.
Без деплоев и вебхуков. (настроены)
Не могу понять как забрать данные с ответа пользователя.

Диалог должен быть такой:

Юзер: /start
Бот: Как тебя зовут?
Юзер: Ваня
Бот: Привет, Ваня!

Спасибо.

ps Пишу на Apps Script
Ваши переменные перепишу под свои.
Дополнен 1 год назад
Голосование за лучший ответ
Айвасс Оракул (70064) 1 год назад
Если я верно понял, в Apps Script вы можете реализовать этот диалог, используя входные параметры функции doGet и ответные сообщения, возвращаемые функцией.
 function doGet(e) { 
var name;

if (!e.parameter.name) {
name = "Как тебя зовут?";
} else {
name = "Привет, " + e.parameter.name + "!";
}

return ContentService.createTextOutput(name).setMimeType(ContentService.MimeType.TEXT);
}
При запуске функции /start вы получите ответ Как тебя зовут?, а при вызове с параметром name (например, /start?name=Ваня) вы получите ответ Привет, Ваня!.
1337rolyПрофи (679) 1 год назад
Спасибо, но вообще ничего не понятно)
Если возможно - на реальном примере.
1337rolyПрофи (679) 1 год назад
 // register 
function New_User(user,chat_id) {
LastRow = user_sheet.getMaxRows()
let reg_check = "0"
for (i=1; i if(user_sheet.getRange(i, 2).getDisplayValue() == chat_id){
reg_check = "1"
send("Вы уже зарегистрированы!", chat_id);
}
}
if(reg_check == "0"){
send("Введите имя:", chat_id)
user_sheet.getRange('A'+ LastRow).setFormula('=row()-1');
user_sheet.getRange('B'+ LastRow).setValue(chat_id);
user_sheet.getRange('C'+ LastRow).setValue(user);
user_sheet.getRange('D'+ LastRow).setValue(text);
user_sheet.insertRowsAfter(LastRow, 1);
send("Вы успешно зарегистрированы!", chat_id);
}
};
Похожие вопросы