Конструктор Опросов (Poll Builder)
Класс Poll предоставляет удобный "текучий интерфейс" (fluent interface) для создания, форматирования и отправки опросов.
Выглядит и работает так же, как и конструктор сообщений
Основы использования
Основной принцип — вы создаете экземпляр опроса, настраиваете его с помощью различных методов и в конце вызываете метод отправки send().
Простой опрос
Это самый базовый пример. Метод $tg->poll() является фабрикой, которая создает и возвращает экземпляр класса Poll.
$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
Обычный опрос, в котором пользователь выбирает ответ из предложенных.
$tg->poll('regular')
->question('Как у вас дела?')
->addAnswers('Отлично', 'Плохо', 'Не знаю')
->isAnonymous(false)
->send();quiz
Режим викторин, в котором пользователь выбирает ответ из предложенных, после чего ему выдает, правильный и неправильный ответ.
$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