* Add support for quiz solutions
also throws execeptions

* Style fix
This commit is contained in:
giuseppeM99 2020-04-24 20:14:42 +02:00 committed by GitHub
parent 234065987a
commit 1f71ef8258
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 2 deletions

View File

@ -509,25 +509,45 @@ trait Files
case 'messageMediaPoll':
$res['Poll'] = $media['poll'];
$res['InputMedia'] = ['_' => 'inputMediaPoll', 'poll' => $res['Poll']];
if ($res['Poll']['quiz']) {
if (isset($res['Poll']['quiz']) && $res['Poll']['quiz']) {
if (empty($media['results']['results'])) {
//quizzes need a correct answer
throw new \danog\MadelineProto\Exception('No poll results');
}
foreach ($media['results']['results'] as $answer) {
if ($answer['correct']) {
$res['InputMedia']['correct_answers'][] = $answer['option'];
}
}
}
if (isset($media['results']['solution'])) {
$res['InputMedia']['solution'] = $media['results']['solution'];
}
if (isset($media['results']['solution_entities'])) {
$res['InputMedia']['solution_entities'] = $media['results']['solution_entities'];
}
break;
case 'updateMessagePoll':
$res['Poll'] = $media['poll'];
$res['InputMedia'] = ['_' => 'inputMediaPoll', 'poll' => $res['Poll']];
$res['MessageMedia'] = ['_' => 'messageMediaPoll', 'poll' => $res['Poll'], 'results' => $media['results']];
if ($res['Poll']['quiz']) {
if (isset($res['Poll']['quiz']) && $res['Poll']['quiz']) {
if (empty($media['results']['results'])) {
//quizzes need a correct answer
throw new \danog\MadelineProto\Exception('No poll results');
}
foreach ($media['results']['results'] as $answer) {
if ($answer['correct']) {
$res['InputMedia']['correct_answers'][] = $answer['option'];
}
}
}
if (isset($media['results']['solution'])) {
$res['InputMedia']['solution'] = $media['results']['solution'];
}
if (isset($media['results']['solution_entities'])) {
$res['InputMedia']['solution_entities'] = $media['results']['solution_entities'];
}
break;
case 'messageMediaPhoto':
if (!isset($media['photo']['access_hash'])) {