Pollfix (#805)
* Add support for quiz solutions also throws execeptions * Style fix
This commit is contained in:
parent
234065987a
commit
1f71ef8258
@ -509,25 +509,45 @@ trait Files
|
|||||||
case 'messageMediaPoll':
|
case 'messageMediaPoll':
|
||||||
$res['Poll'] = $media['poll'];
|
$res['Poll'] = $media['poll'];
|
||||||
$res['InputMedia'] = ['_' => 'inputMediaPoll', 'poll' => $res['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) {
|
foreach ($media['results']['results'] as $answer) {
|
||||||
if ($answer['correct']) {
|
if ($answer['correct']) {
|
||||||
$res['InputMedia']['correct_answers'][] = $answer['option'];
|
$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;
|
break;
|
||||||
case 'updateMessagePoll':
|
case 'updateMessagePoll':
|
||||||
$res['Poll'] = $media['poll'];
|
$res['Poll'] = $media['poll'];
|
||||||
$res['InputMedia'] = ['_' => 'inputMediaPoll', 'poll' => $res['Poll']];
|
$res['InputMedia'] = ['_' => 'inputMediaPoll', 'poll' => $res['Poll']];
|
||||||
$res['MessageMedia'] = ['_' => 'messageMediaPoll', 'poll' => $res['Poll'], 'results' => $media['results']];
|
$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) {
|
foreach ($media['results']['results'] as $answer) {
|
||||||
if ($answer['correct']) {
|
if ($answer['correct']) {
|
||||||
$res['InputMedia']['correct_answers'][] = $answer['option'];
|
$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;
|
break;
|
||||||
case 'messageMediaPhoto':
|
case 'messageMediaPhoto':
|
||||||
if (!isset($media['photo']['access_hash'])) {
|
if (!isset($media['photo']['access_hash'])) {
|
||||||
|
Loading…
Reference in New Issue
Block a user