diff options
| author | ilotterytea <iltsu@alright.party> | 2024-05-18 14:48:12 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-05-18 14:48:12 +0500 |
| commit | d1793df1eda463b10107d41785ad1d7f055ed476 (patch) | |
| tree | fd3e41c3b4a05924748ae4b762e1ae55a0bc815c /bot/src/config.hpp | |
| parent | d7a2de17e9b7931f68b5b4079b1c36866a19d343 (diff) | |
upd: moved the bot part to a relative subfolder
Diffstat (limited to 'bot/src/config.hpp')
| -rw-r--r-- | bot/src/config.hpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/bot/src/config.hpp b/bot/src/config.hpp new file mode 100644 index 0000000..5c437d6 --- /dev/null +++ b/bot/src/config.hpp @@ -0,0 +1,54 @@ +#pragma once + +#include <optional> +#include <string> + +#define GET_DATABASE_CONNECTION_URL(c) \ + "dbname = " + c.database.name + " user = " + c.database.user + \ + " password = " + c.database.password + " host = " + c.database.host + \ + " port = " + c.database.port + +#define GET_DATABASE_CONNECTION_URL_POINTER(c) \ + "dbname = " + c->database.name + " user = " + c->database.user + \ + " password = " + c->database.password + " host = " + c->database.host + \ + " port = " + c->database.port + +namespace bot { + struct DatabaseConfiguration { + std::string name; + std::string user; + std::string password; + std::string host; + std::string port; + }; + + struct TwitchCredentialsConfiguration { + std::string client_id; + std::string token; + }; + + struct CommandConfiguration { + bool join_allowed = true; + bool join_allow_from_other_chats = false; + }; + + struct OwnerConfiguration { + std::optional<std::string> name = std::nullopt; + std::optional<int> id = std::nullopt; + }; + + struct UrlConfiguration { + std::optional<std::string> help = std::nullopt; + }; + + struct Configuration { + TwitchCredentialsConfiguration twitch_credentials; + DatabaseConfiguration database; + CommandConfiguration commands; + OwnerConfiguration owner; + UrlConfiguration url; + }; + + std::optional<Configuration> parse_configuration_from_file( + const std::string &file_path); +} |
