@Vladis__Woof

Как загрузить в гугл таблицу результаты опроса из телеграм бота?

Создал телеграм бота и с помощью вебхука в скриптах настроил его на отправку определенных сообщений и сбор ответов. В решаемой задаче есть потребность отправить от телеграм бота пользователю опрос, в котором пользователь выберет несколько ответов и на основании этих ответов делать следующие действия. Отправка опроса настроена с помощью sendPoll так:
function sendPoll(chat_id, question, options) {
let data = {
method: "post", //метод передачи
payload: { //данные, которые будут переданы
method: "sendPoll",
chat_id: String(chat_id), //id чата в который будет отправлено сообщение
question: question,
options: JSON.stringify(options),
is_anonymous: false,
allows_multiple_answers: true,
}
};
UrlFetchApp.fetch('https://api.telegram.org/bot' + token + "/", data);
}

но я не могу понять, как мне получить результаты опроса от бота, чтобы можно было их проанализировать, т.к. при ответе пользователем на опрос обмен сообщениями не идет.
670760396b8cf247489636.jpegКакой код нужно написать, чтобы получить от телеграм бота результаты опроса?
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
@GrigoryMorozov
К сожалению, просто получить результат опроса каким-то методом невозможно. Но можно настроить получение событий с ответами пользователей и самостоятельно формировать результат. В общих чертах:
  1. Настраиваете получение события poll_answer с помощью периодических запросов методом getUpdates или устанавливаете веб-хук, на который Телеграм сам будет отправлять запросы с этим событием (метод setWebhook; судя по всему, это ваш случай)
  2. Реализовываете логику с сохранением результата опроса (поле poll_answer в Update). Вы будете знать ID опроса, ID пользователя, проголосовавшего в опросе (если опрос неанонимный), и список выбранных им опций. Помните, что пользователь может переголосовать — это штатная функция Телеграма
  3. А уже затем работаете с таблицами. API у Google Таблиц нетривиальный (хотя, конечно, зависит от задачи), но разобраться с ним можно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы