public function search(Request $request) {
$validatedData = $request->validate([
+ 'id' => 'array',
+ 'id.*' => 'integer|numeric',
'joinable' => 'boolean|nullable',
'manageable' => 'boolean|nullable',
'phrase' => 'string|nullable',
]);
$channels = Channel::query();
+ if (!empty($validatedData['id'])) {
+ $channels = $channels->whereIn('id', $validatedData['id']);
+ }
if (isset($validatedData['joinable']) && $validatedData['joinable']) {
$channels = $channels->where('twitch_chat', '!=', '');
}
case 'solve':
if ($channel->hasActiveGuessing() && $channel->isValidGuess($validatedData['solution'])) {
$winners = $channel->solveGuessing($validatedData['solution']);
- $names = [];
- foreach ($winners as $winner) {
- if ($winner->score > 0) {
- $names[] = $winner->uname;
- }
- }
- if (empty($names)) {
- $msg = $channel->getGuessingSetting('no_winners_message');
- } else {
- $msg = $channel->getGuessingSetting('winners_message');
- $msg = str_replace('{names}', $channel->listAnd($names), $msg);
- }
+ $msg = $channel->listGuessingWinners($winners);
if (!empty($msg)) {
TwitchBotCommand::chat($channel->twitch_chat, $msg);
}
$validatedData = $request->validate([
'active_message' => 'string',
'cancel_message' => 'string',
+ 'close_winners_message' => 'string',
'invalid_solution_message' => 'string',
+ 'leaderboard_type' => 'string',
'no_winners_message' => 'string',
'not_active_message' => 'string',
'points_exact_first' => 'numeric|min:1|max:5',