Split discord configuration into different file
The current config.ini is both long and full of text. This reduces readability and combines essential configuration with non-essential configuration. Splitting optional features like Discord into its own config helps the readability issue by not beating the users to death with information.
This commit is contained in:
		
							parent
							
								
									eb830db587
								
							
						
					
					
						commit
						f604e9c8de
					
				| @ -82,36 +82,6 @@ max_value=100 | |||||||
| ; The maximum number of dice that can be rolled at once. | ; The maximum number of dice that can be rolled at once. | ||||||
| max_dice=100 | max_dice=100 | ||||||
| 
 | 
 | ||||||
| [Discord] |  | ||||||
| ; Whether the discord webhook is enabled or not. |  | ||||||
| ; The server will send messages to this webhook whenever a modcall is sent. |  | ||||||
| ; Changing this requires a server restart. |  | ||||||
| webhook_enabled=false |  | ||||||
| 
 |  | ||||||
| ; The URL of the discord webhook to send messages to. Must contain the webhook ID and token. |  | ||||||
| webhook_modcall_url= |  | ||||||
| 
 |  | ||||||
| ; Whether to attach a file containing the area log when a modcall message is sent to the webhook. |  | ||||||
| webhook_modcall_sendfile=false |  | ||||||
| 
 |  | ||||||
| ; Additional text to send with the webhook message. Usually for adding tags for role. Ensure the format is <@&[RoleID]>. |  | ||||||
| webhook_content= |  | ||||||
| 
 |  | ||||||
| ; Enables the ban webhook. |  | ||||||
| webhook_ban_enabled = false |  | ||||||
| 
 |  | ||||||
| ; The URL of the ban discord webhook to send messages to. Must contain the webhook ID and token. |  | ||||||
| webhook_ban_url= |  | ||||||
| 
 |  | ||||||
| ; Enables Uptime Webhook. |  | ||||||
| webhook_uptime_enabled = false |  | ||||||
| 
 |  | ||||||
| ; The time between message posting. This time is in minutes, with a default of 60. |  | ||||||
| webhook_uptime_time = 60 |  | ||||||
| 
 |  | ||||||
| ; The URL of the uptime discord webhook to send messages to. Must contain the webhook ID and token. |  | ||||||
| webhook_uptime_url= |  | ||||||
| 
 |  | ||||||
| [Password] | [Password] | ||||||
| ; Whether or not to enforce password requirements. Only applicable under advanced authorization. | ; Whether or not to enforce password requirements. Only applicable under advanced authorization. | ||||||
| password_requirements = true | password_requirements = true | ||||||
|  | |||||||
							
								
								
									
										32
									
								
								bin/config_sample/discord.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								bin/config_sample/discord.ini
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | |||||||
|  | [Discord] | ||||||
|  | ; Whether the discord webhook is enabled or not. | ||||||
|  | ; The server will send messages to this webhook whenever a modcall is sent. | ||||||
|  | ; Changing this requires a server restart. | ||||||
|  | webhook_enabled=false | ||||||
|  | 
 | ||||||
|  | ;Enables the modcall webhook to post a notification when a modcall is made. | ||||||
|  | webhook_modcall_enabled=false | ||||||
|  | 
 | ||||||
|  | ; The URL of the discord webhook to send messages to. Must contain the webhook ID and token. | ||||||
|  | webhook_modcall_url= | ||||||
|  | 
 | ||||||
|  | ; Additional text to send with the webhook message. Usually for adding tags for role. Ensure the format is <@&[RoleID]>. | ||||||
|  | webhook_modcall_content= | ||||||
|  | 
 | ||||||
|  | ; Whether to attach a file containing the area log when a modcall message is sent to the webhook. | ||||||
|  | webhook_modcall_sendfile=false | ||||||
|  | 
 | ||||||
|  | ; Enables the ban webhook. | ||||||
|  | webhook_ban_enabled = false | ||||||
|  | 
 | ||||||
|  | ; The URL of the ban discord webhook to send messages to. Must contain the webhook ID and token. | ||||||
|  | webhook_ban_url= | ||||||
|  | 
 | ||||||
|  | ; Enables Uptime Webhook. | ||||||
|  | webhook_uptime_enabled = false | ||||||
|  | 
 | ||||||
|  | ; The time between message posting. This time is in minutes, with a default of 60. | ||||||
|  | webhook_uptime_time = 60 | ||||||
|  | 
 | ||||||
|  | ; The URL of the uptime discord webhook to send messages to. Must contain the webhook ID and token. | ||||||
|  | webhook_uptime_url= | ||||||
| @ -191,12 +191,19 @@ class ConfigManager { | |||||||
|     static int diceMaxDice(); |     static int diceMaxDice(); | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * @brief Returns true if the discord webhook is enabled. |      * @brief Returns true if the discord webhook integration is enabled. | ||||||
|      * |      * | ||||||
|      * @return See short description. |      * @return See short description. | ||||||
|      */ |      */ | ||||||
|     static bool discordWebhookEnabled(); |     static bool discordWebhookEnabled(); | ||||||
| 
 | 
 | ||||||
|  |     /**
 | ||||||
|  |      * @brief Returns true if the discord modcall webhook is enabled. | ||||||
|  |      * | ||||||
|  |      * @return See short description. | ||||||
|  |      */ | ||||||
|  |     static bool discordModcallWebhookEnabled(); | ||||||
|  | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * @brief Returns the discord webhook URL. |      * @brief Returns the discord webhook URL. | ||||||
|      * |      * | ||||||
| @ -406,6 +413,11 @@ private: | |||||||
|      */ |      */ | ||||||
|     static QSettings* m_settings; |     static QSettings* m_settings; | ||||||
| 
 | 
 | ||||||
|  |     /**
 | ||||||
|  |      * @brief Stores all discord webhook configuration values. | ||||||
|  |      */ | ||||||
|  |     static QSettings* m_discord; | ||||||
|  | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * @brief Returns a stringlist with the contents of a .txt file from config/text/. |      * @brief Returns a stringlist with the contents of a .txt file from config/text/. | ||||||
|      * |      * | ||||||
|  | |||||||
| @ -18,6 +18,7 @@ | |||||||
| #include "include/config_manager.h" | #include "include/config_manager.h" | ||||||
| 
 | 
 | ||||||
| QSettings* ConfigManager::m_settings = new QSettings("config/config.ini", QSettings::IniFormat); | QSettings* ConfigManager::m_settings = new QSettings("config/config.ini", QSettings::IniFormat); | ||||||
|  | QSettings* ConfigManager::m_discord = new QSettings("config/discord.ini", QSettings::IniFormat); | ||||||
| ConfigManager::CommandSettings* ConfigManager::m_commands = new CommandSettings(); | ConfigManager::CommandSettings* ConfigManager::m_commands = new CommandSettings(); | ||||||
| 
 | 
 | ||||||
| bool ConfigManager::verifyServerConfig() | bool ConfigManager::verifyServerConfig() | ||||||
| @ -90,6 +91,7 @@ bool ConfigManager::verifyServerConfig() | |||||||
| void ConfigManager::reloadSettings() | void ConfigManager::reloadSettings() | ||||||
| { | { | ||||||
|     m_settings->sync(); |     m_settings->sync(); | ||||||
|  |     m_discord->sync(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| QStringList ConfigManager::loadConfigFile(const QString filename) | QStringList ConfigManager::loadConfigFile(const QString filename) | ||||||
| @ -267,43 +269,48 @@ int ConfigManager::diceMaxDice() | |||||||
| 
 | 
 | ||||||
| bool ConfigManager::discordWebhookEnabled() | bool ConfigManager::discordWebhookEnabled() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_enabled", false).toBool(); |     return m_discord->value("Discord/webhook_enabled", false).toBool(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bool ConfigManager::discordModcallWebhookEnabled() | ||||||
|  | { | ||||||
|  |     return m_discord->value("Discord/webhook_modcall_enabled", false).toBool(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| QString ConfigManager::discordModcallWebhookUrl() | QString ConfigManager::discordModcallWebhookUrl() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_modcall_url", "").toString(); |     return m_discord->value("Discord/webhook_modcall_url", "").toString(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| QString ConfigManager::discordWebhookContent() | QString ConfigManager::discordWebhookContent() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_content", "").toString(); |     return m_discord->value("Discord/webhook_content", "").toString(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool ConfigManager::discordModcallWebhookSendFile() | bool ConfigManager::discordModcallWebhookSendFile() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_modcall_sendfile", false).toBool(); |     return m_discord->value("Discord/webhook_modcall_sendfile", false).toBool(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool ConfigManager::discordBanWebhookEnabled() | bool ConfigManager::discordBanWebhookEnabled() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_ban_enabled", false).toBool(); |     return m_discord->value("Discord/webhook_ban_enabled", false).toBool(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| QString ConfigManager::discordBanWebhookUrl() | QString ConfigManager::discordBanWebhookUrl() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_ban_url", "").toString(); |     return m_discord->value("Discord/webhook_ban_url", "").toString(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool ConfigManager::discordUptimeEnabled() | bool ConfigManager::discordUptimeEnabled() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_uptime_enabled","false").toBool(); |     return m_discord->value("Discord/webhook_uptime_enabled","false").toBool(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int ConfigManager::discordUptimeTime() | int ConfigManager::discordUptimeTime() | ||||||
| { | { | ||||||
|     bool ok; |     bool ok; | ||||||
|     int l_aliveTime = m_settings->value("Discord/webhook_uptime_time","60").toInt(&ok); |     int l_aliveTime = m_discord->value("Discord/webhook_uptime_time","60").toInt(&ok); | ||||||
|     if (!ok) { |     if (!ok) { | ||||||
|         qWarning("alive_time is not an int"); |         qWarning("alive_time is not an int"); | ||||||
|         l_aliveTime = 60; |         l_aliveTime = 60; | ||||||
| @ -313,7 +320,7 @@ int ConfigManager::discordUptimeTime() | |||||||
| 
 | 
 | ||||||
| QString ConfigManager::discordUptimeWebhookUrl() | QString ConfigManager::discordUptimeWebhookUrl() | ||||||
| { | { | ||||||
|     return m_settings->value("Discord/webhook_uptime_url", "").toString(); |     return m_discord->value("Discord/webhook_uptime_url", "").toString(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool ConfigManager::passwordRequirements() | bool ConfigManager::passwordRequirements() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Salanto
						Salanto