private function modifyBenis($commandingUser, $slackUsername, $amount, $comment, $modifier) { $user = User::findBySlackName($slackUsername); $from = User::findBySlackName($commandingUser); $amount = trim($amount, '-'); $amount = trim($amount, '+'); if ($from->available_points == 0) { return "@{$slackUsername} du hast leider keine Benispunkte mehr zu vergeben. Warte bis morgen!"; } if ($amount > 10) { $amount = 10; } if (!isset($user->slack_name)) { return "@{$slackUsername} hat keinen BenisBot Account, er kann via '!benis harden' einen erstellen"; } $benis = $user->benis; if ($modifier == '-') { $user->update(['benis' => $benis - $amount]); } else { if ($modifier == '+') { $user->update(['benis' => $benis + $amount]); } } BenisContribution::create(['from' => $from->id, 'to' => $user->id, 'amount' => "{$modifier}{$amount}", 'comment' => $comment]); $availablePoints = $from->available_points - $amount; Log::info($availablePoints); if ($availablePoints < 0) { $availablePoints = 0; } $from->update(['available_points' => $availablePoints]); return "@{$user->slack_name} hat nun dank @{$from->slack_name} eine Benisgrösse von {$user->benis} ({$modifier}{$amount} - von @{$from->slack_name}: \"{$comment}\")"; }