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\GeneralColumn;
|
||||||
use sammo\Enums\GeneralQueryMode;
|
use sammo\Enums\GeneralQueryMode;
|
||||||
use sammo\Enums\InheritanceKey;
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\PenaltyKey;
|
||||||
use sammo\Enums\RankColumn;
|
use sammo\Enums\RankColumn;
|
||||||
|
|
||||||
require_once 'process_war.php';
|
require_once 'process_war.php';
|
||||||
@@ -376,11 +377,11 @@ function myNationInfo(General $generalObj)
|
|||||||
function checkSecretMaxPermission($penalty)
|
function checkSecretMaxPermission($penalty)
|
||||||
{
|
{
|
||||||
$secretMax = 4;
|
$secretMax = 4;
|
||||||
if ($penalty['noTopSecret'] ?? false) {
|
if ($penalty[PenaltyKey::NoTopSecret->value] ?? false) {
|
||||||
$secretMax = 1;
|
$secretMax = 1;
|
||||||
} else if ($penalty['noChief'] ?? false) {
|
} else if ($penalty[PenaltyKey::NoChief->value] ?? false) {
|
||||||
$secretMax = 1;
|
$secretMax = 1;
|
||||||
} else if ($penalty['noAmbassador'] ?? false) {
|
} else if ($penalty[PenaltyKey::NoAmbassador->value] ?? false) {
|
||||||
$secretMax = 2;
|
$secretMax = 2;
|
||||||
}
|
}
|
||||||
return $secretMax;
|
return $secretMax;
|
||||||
@@ -403,7 +404,7 @@ function checkSecretPermission(array $me, $checkSecretLimit = true)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($penalty['noSecret'] ?? false) {
|
if ($penalty[PenaltyKey::NoChief->value] ?? false) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ use DateTimeInterface;
|
|||||||
use sammo\DB;
|
use sammo\DB;
|
||||||
use sammo\Enums\APIRecoveryType;
|
use sammo\Enums\APIRecoveryType;
|
||||||
use sammo\Enums\MessageType;
|
use sammo\Enums\MessageType;
|
||||||
|
use sammo\Enums\PenaltyKey;
|
||||||
use sammo\Json;
|
use sammo\Json;
|
||||||
use sammo\Message;
|
use sammo\Message;
|
||||||
use sammo\MessageTarget;
|
use sammo\MessageTarget;
|
||||||
@@ -231,7 +232,7 @@ class SendMessage extends \sammo\BaseAPI
|
|||||||
$lastMsg = new \DateTime($session->lastMsg ?? '0000-00-00');
|
$lastMsg = new \DateTime($session->lastMsg ?? '0000-00-00');
|
||||||
$msg_interval = $now->getTimestamp() - $lastMsg->getTimestamp();
|
$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) {
|
if ($msg_interval < $msg_min_interval) {
|
||||||
return "개인메세지는 {$msg_min_interval}초당 1건만 보낼 수 있습니다!";
|
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