Add setting to change dedi message format
This commit is contained in:
		| @@ -49,8 +49,9 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene | |||||||
| 	const SETTING_WIDGET_LINE_COUNT           = 'Widget Displayed Lines Count'; | 	const SETTING_WIDGET_LINE_COUNT           = 'Widget Displayed Lines Count'; | ||||||
| 	const SETTING_WIDGET_LINE_HEIGHT          = 'Widget Line Height'; | 	const SETTING_WIDGET_LINE_HEIGHT          = 'Widget Line Height'; | ||||||
| 	const SETTING_DEDIMANIA_CODE              = '$l[http://dedimania.net/tm2stats/?do=register]Dedimania Code for '; | 	const SETTING_DEDIMANIA_CODE              = '$l[http://dedimania.net/tm2stats/?do=register]Dedimania Code for '; | ||||||
| 	const SETTING_NOTIFY_BEST_RECORDS_PUBLIC  = 'Notify Publicly only for the X Best Records'; | 	const SETTING_NOTIFICATION_MESSAGE_PREFIX = 'Notification Message Prefix'; | ||||||
| 	const SETTING_NOTIFY_BEST_RECORDS_PRIVATE = 'Notify Privately only for the X Best Records'; | 	const SETTING_NOTIFY_BEST_RECORDS_PRIVATE = 'Notify Privately only for the X Best Records'; | ||||||
|  | 	const SETTING_NOTIFY_BEST_RECORDS_PUBLIC  = 'Notify Publicly only for the X Best Records'; | ||||||
| 	const SETTING_MAX_RECORDS                 = 'Max Records, only increase if you bought a rank update from Dedimania!'; | 	const SETTING_MAX_RECORDS                 = 'Max Records, only increase if you bought a rank update from Dedimania!'; | ||||||
|  |  | ||||||
| 	const CB_DEDIMANIA_CHANGED        = 'Dedimania.Changed'; | 	const CB_DEDIMANIA_CHANGED        = 'Dedimania.Changed'; | ||||||
| @@ -104,6 +105,7 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene | |||||||
| 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_WIDGET_WIDTH, 40); | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_WIDGET_WIDTH, 40); | ||||||
| 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_WIDGET_LINE_HEIGHT, 4); | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_WIDGET_LINE_HEIGHT, 4); | ||||||
| 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_WIDGET_LINE_COUNT, 12); | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_WIDGET_LINE_COUNT, 12); | ||||||
|  | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_NOTIFICATION_MESSAGE_PREFIX, '$3c0'); | ||||||
| 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_NOTIFY_BEST_RECORDS_PRIVATE, 30); | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_NOTIFY_BEST_RECORDS_PRIVATE, 30); | ||||||
| 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_NOTIFY_BEST_RECORDS_PUBLIC, 15); | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_NOTIFY_BEST_RECORDS_PUBLIC, 15); | ||||||
| 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_MAX_RECORDS, 30); | 		$this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_MAX_RECORDS, 30); | ||||||
| @@ -382,15 +384,27 @@ class DedimaniaPlugin implements CallbackListener, CommandListener, TimerListene | |||||||
| 					$notifyName = 'You'; | 					$notifyName = 'You'; | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
| 				$message = '$390$<$fff' . $notifyName . '$> ' . $improvement . ' $<$ff0' . $newRecord->rank . '.$> Dedimania Record: $<$fff' . Formatter::formatTime($newRecord->best) . '$>'; | 				$messagePrefix = $this->maniaControl->getSettingManager()->getSettingValue($this, self::SETTING_NOTIFICATION_MESSAGE_PREFIX); | ||||||
|  | 				$message = $messagePrefix . '$<$fff' . $notifyName . '$> ' . $improvement . ' $<$ff0' . $newRecord->rank . '.$> Dedimania Record: $<$fff' . Formatter::formatTime($newRecord->best) . '$>'; | ||||||
| 				if (!$oldRecord->nullRecord) { | 				if (!$oldRecord->nullRecord) { | ||||||
| 					$message .= ' ($<$ff0' . $oldRecord->rank . '.$> $<$fff-' . Formatter::formatTime(($oldRecord->best - $recTime)) . '$>)'; | 					$message .= ' ($<$ff0' . $oldRecord->rank . '.$> $<$fff-' . Formatter::formatTime(($oldRecord->best - $recTime)) . '$>)'; | ||||||
| 				} | 				} | ||||||
|  | 				$message .= '!'; | ||||||
|  |  | ||||||
| 				if ($newRecord->rank <= $notifyOnlyBestRecordsPublic) { | 				if ($newRecord->rank <= $notifyOnlyBestRecordsPublic) { | ||||||
| 					$this->maniaControl->getChat()->sendInformation($message . '!'); | 					$this->maniaControl->getCallQueueManager()->registerListening( | ||||||
|  | 						$this, | ||||||
|  | 						function () use ($message) { | ||||||
|  | 							$this->maniaControl->getChat()->sendInformation($message); | ||||||
|  | 						} | ||||||
|  | 					); | ||||||
| 				} elseif ($newRecord->rank <= $notifyOnlyBestRecordsPrivate) { | 				} elseif ($newRecord->rank <= $notifyOnlyBestRecordsPrivate) { | ||||||
| 					$this->maniaControl->getChat()->sendInformation($message . '!', $player); | 					$this->maniaControl->getCallQueueManager()->registerListening( | ||||||
|  | 						$this, | ||||||
|  | 						function () use ($message, $player) { | ||||||
|  | 							$this->maniaControl->getChat()->sendInformation($message, $player); | ||||||
|  | 						} | ||||||
|  | 					); | ||||||
| 				} | 				} | ||||||
|  |  | ||||||
| 				$this->webHandler->maniaLinkUpdateNeeded(); | 				$this->webHandler->maniaLinkUpdateNeeded(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user