feat: PenaltyKey enum
This commit is contained in:
+5
-4
@@ -9,6 +9,7 @@ use sammo\Enums\GeneralAccessLogColumn;
|
||||
use sammo\Enums\GeneralColumn;
|
||||
use sammo\Enums\GeneralQueryMode;
|
||||
use sammo\Enums\InheritanceKey;
|
||||
use sammo\Enums\PenaltyKey;
|
||||
use sammo\Enums\RankColumn;
|
||||
|
||||
require_once 'process_war.php';
|
||||
@@ -376,11 +377,11 @@ function myNationInfo(General $generalObj)
|
||||
function checkSecretMaxPermission($penalty)
|
||||
{
|
||||
$secretMax = 4;
|
||||
if ($penalty['noTopSecret'] ?? false) {
|
||||
if ($penalty[PenaltyKey::NoTopSecret->value] ?? false) {
|
||||
$secretMax = 1;
|
||||
} else if ($penalty['noChief'] ?? false) {
|
||||
} else if ($penalty[PenaltyKey::NoChief->value] ?? false) {
|
||||
$secretMax = 1;
|
||||
} else if ($penalty['noAmbassador'] ?? false) {
|
||||
} else if ($penalty[PenaltyKey::NoAmbassador->value] ?? false) {
|
||||
$secretMax = 2;
|
||||
}
|
||||
return $secretMax;
|
||||
@@ -403,7 +404,7 @@ function checkSecretPermission(array $me, $checkSecretLimit = true)
|
||||
}
|
||||
|
||||
|
||||
if ($penalty['noSecret'] ?? false) {
|
||||
if ($penalty[PenaltyKey::NoChief->value] ?? false) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\Enums\APIRecoveryType;
|
||||
use sammo\Enums\MessageType;
|
||||
use sammo\Enums\PenaltyKey;
|
||||
use sammo\Json;
|
||||
use sammo\Message;
|
||||
use sammo\MessageTarget;
|
||||
@@ -231,7 +232,7 @@ class SendMessage extends \sammo\BaseAPI
|
||||
$lastMsg = new \DateTime($session->lastMsg ?? '0000-00-00');
|
||||
$msg_interval = $now->getTimestamp() - $lastMsg->getTimestamp();
|
||||
|
||||
$msg_min_interval = $penalty['sendPrivateMsgDelay'] ?? 2;
|
||||
$msg_min_interval = $penalty[PenaltyKey::SendPrivateMsgDelay->value] ?? 2;
|
||||
if ($msg_interval < $msg_min_interval) {
|
||||
return "개인메세지는 {$msg_min_interval}초당 1건만 보낼 수 있습니다!";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace sammo\Enums;
|
||||
|
||||
/**
|
||||
* Penalty Key
|
||||
* general의 penalty 항목
|
||||
*/
|
||||
enum PenaltyKey: string{
|
||||
case SendPrivateMsgDelay = 'sendPrivateMsgDelay';
|
||||
case NoTopSecret = 'noTopSecret';
|
||||
case NoChief = 'noChief';
|
||||
case NoAmbassador = 'noAmbassador';
|
||||
}
|
||||
Reference in New Issue
Block a user