Skip to content

Commit c7c9af1

Browse files
committed
Реализован метод отправки опроса ботом
1 parent e8715a2 commit c7c9af1

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

src/ТелеграмАПИ.os

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,18 @@
191191

192192
КонецФункции
193193

194+
// Формирует данные для создания пересылаемого сообщения
195+
// (Метод forwardMessage)
196+
//
197+
// Параметры:
198+
// ПолучательИД - Число - chat_id получателя
199+
// СообщениеИД - Число - id пересылаемого сообщения
200+
// ИзКакогоЧатаИД - Число - id чата из которого пересылается сообщение
201+
// БезОповещения - Булево - Если Истина, то сообщение будет переслано без оповещения получателя
202+
//
203+
// Возвращаемое значение:
204+
// Структура - Структура, готовая для передачи в ПереслатьСообщение() в классе ТелеграмБот
205+
//
194206
Функция НовоеПересылаемоеСообщение(ПолучательИД, СообщениеИД, ИзКакогоЧатаИД, БезОповещения = Ложь) Экспорт
195207

196208
Сообщение = Новый Соответствие;
@@ -201,4 +213,51 @@
201213

202214
Возврат Сообщение;
203215

216+
КонецФункции
217+
218+
// Создает каркас для нового опроса (не добавляет варианты ответа!)
219+
// (Метод sendPoll)
220+
//
221+
// Параметры:
222+
// ПолучательИД - Число - chat_id получателя
223+
// ТекстВопроса - Строка - Текст вопроса, длинна 1-255 символов
224+
// Анонимныей - Булево - Если Ложь, то показывается какой вариант ответа выбрал участник опроса
225+
// ВозможенМножественныйОтвет - Булево - Если Истина, то участник может проголосовать за несколько вариантов
226+
// БезОповещения - Булево - Если Истина, то сообщение будет переслано без оповещения получателя
227+
//
228+
// Возвращаемое значение:
229+
// Структура - Структура, которую дополнительно нужно передать в функцию ДобавитьВариантОтветаНаОпрос()
230+
//
231+
Функция НовыйОпрос(ПолучательИД, ТекстВопроса, Анонимныей = Истина, ВозможенМножественныйОтвет = Ложь, БезОповещения = Ложь) Экспорт
232+
233+
Опрос = Новый Соответствие;
234+
Опрос.Вставить("chat_id", ПолучательИД);
235+
Опрос.Вставить("question", ТекстВопроса);
236+
Опрос.Вставить("is_anonymous", Анонимныей);
237+
Опрос.Вставить("allows_multiple_answers", ВозможенМножественныйОтвет);
238+
Опрос.Вставить("disable_notification", БезОповещения);
239+
МассивВариантовОтвета = Новый Массив();
240+
Опрос.Вставить("options", МассивВариантовОтвета);
241+
242+
Возврат Опрос;
243+
244+
КонецФункции
245+
246+
// Добавляет варианты ответа на опрос
247+
// Необходимо поочередно добавить от 2 до 10 вариантов
248+
// (Метод sendPoll)
249+
//
250+
// Параметры:
251+
// Опрос - Структура - То, что вернулось от НовыйОпрос()
252+
// ВариантОтвета - Строка - Текст варианта ответа, длинна 1-100 символов
253+
//
254+
// Возвращаемое значение:
255+
// Структура - Структура, готовая для передачи в ОтправитьОпрос() в классе ТелеграмБот
256+
//
257+
Функция ДобавитьВариантОтветаНаОпрос(Опрос, ВариантОтвета) Экспорт
258+
259+
Опрос["options"].Добавить(ВариантОтвета);
260+
261+
Возврат Опрос;
262+
204263
КонецФункции

src/ТелеграмБот.os

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,13 @@
109109

110110
КонецФункции
111111

112+
Функция ОтправитьОпрос(Сообщение) Экспорт
113+
114+
Команда = "sendPoll";
115+
Возврат ОтправитьДанные(Сообщение, Команда);
116+
117+
КонецФункции
118+
112119
#КонецОбласти
113120

114121
#Область СлужебныеПроцедурыИФункции

0 commit comments

Comments
 (0)