Перейти к содержимому

Конструктор Опросов (Poll Builder)

Класс Poll предоставляет удобный "текучий интерфейс" (fluent interface) для создания, форматирования и отправки опросов.
Выглядит и работает так же, как и конструктор сообщений

Основы использования

Основной принцип — вы создаете экземпляр опроса, настраиваете его с помощью различных методов и в конце вызываете метод отправки send().

Простой опрос

Это самый базовый пример. Метод $tg->poll() является фабрикой, которая создает и возвращает экземпляр класса Poll.

php
$bot->onCommand('poll')->func(function(ZG $tg) {
    $tg->poll('regular')
        ->question('Как у вас дела?')
        ->addAnswers('Отлично', 'Плохо', 'Не знаю')
        ->isAnonymous(false)
        ->send();
});

Основные методы

poll(string $type = 'regular')

Задаёт тип опроса regular или quiz. По умолчанию regular.

question(string $question)

Задает вопрос опроса.

addAnswers(string ...$answers)

Добавляет ответы к опросу.

isAnonymous(bool $isAnonymous = true)

Задает анонимность опроса. По умолчанию true.

parseMode(string $parseMode)

Задает режим разметки опроса.

send()

Отправляет опрос.

Типы опросов

regular

Обычный опрос, в котором пользователь выбирает ответ из предложенных.

php
$tg->poll('regular')
    ->question('Как у вас дела?')
    ->addAnswers('Отлично', 'Плохо', 'Не знаю')
    ->isAnonymous(false)
    ->send();

quiz

Режим викторин, в котором пользователь выбирает ответ из предложенных, после чего ему выдает, правильный и неправильный ответ.

php
$tg->poll('quiz')
    ->question('Как у вас дела?')
    ->addAnswers('Отлично', 'Плохо', 'Не знаю')
    ->correctAnswer(0) // Номер верного ответа. Начинается с нуля
    ->send();

Полный список методов

МетодОписание
addAnswersДобавляет варианты ответа.
questionЗадаёт вопрос опроса.
isAnonymousЯвляется ли опрос анонимным?
multipleAnswersМожно ли выбирать несколько ответов?
correctAnswerНомер правильного ответа.
explanationЗадаёт объяснение ответу.
parseModeЗадаёт режим парсинга (HTML, MarkdownV2).
questionParseModeЗадаёт режим парсинга для вопроса.
explanationParseModeЗадаёт режим парсинга для объяснения.
closeDateЗадаёт дату закрытия опроса в формате Unix Timestamp.
openPeriodЗадаёт время в секундах, через сколько будет закрыт опрос.
closeОтправить опрос закрытым?
sendЗавершающий метод. Отправляет собранный опрос.

Более подробное описание каждого метода в описании класса Poll

Опубликовано под лицензией MIT.