49 lines
2.0 KiB
C#
Executable File
49 lines
2.0 KiB
C#
Executable File
namespace CatsOfMastodonBot.Models
|
|
{
|
|
public class configData
|
|
{
|
|
|
|
public static config fetchData()
|
|
{
|
|
// Load from .env file first
|
|
DotNetEnv.Env.Load();
|
|
|
|
// Fetch values from .env file or environment variables (fall back)
|
|
string dbName = DotNetEnv.Env.GetString("DB_NAME") ?? Environment.GetEnvironmentVariable("DB_NAME");
|
|
string botToken = DotNetEnv.Env.GetString("BOT_TOKEN") ?? Environment.GetEnvironmentVariable("BOT_TOKEN");
|
|
string tag = DotNetEnv.Env.GetString("TAG") ?? Environment.GetEnvironmentVariable("TAG");
|
|
string channelNumId = DotNetEnv.Env.GetString("CHANNEL_NUMID") ?? Environment.GetEnvironmentVariable("CHANNEL_NUMID");
|
|
string adminNumId = DotNetEnv.Env.GetString("ADMIN_NUMID") ?? Environment.GetEnvironmentVariable("ADMIN_NUMID");
|
|
string instance = DotNetEnv.Env.GetString("INSTANCE") ?? Environment.GetEnvironmentVariable("INSTANCE");
|
|
|
|
// Check if any of the values are still null or empty
|
|
if (string.IsNullOrEmpty(dbName) || string.IsNullOrEmpty(botToken) || string.IsNullOrEmpty(tag)
|
|
|| string.IsNullOrEmpty(channelNumId) || string.IsNullOrEmpty(adminNumId))
|
|
{
|
|
return null; // Failure if any are missing
|
|
}
|
|
|
|
// If all required variables are present, assign to the config
|
|
config config = new config
|
|
{
|
|
DB_NAME = dbName,
|
|
BOT_TOKEN = botToken,
|
|
TAG = tag,
|
|
CHANNEL_NUMID = channelNumId,
|
|
ADMIN_NUMID = adminNumId
|
|
};
|
|
|
|
return config; // Success
|
|
}
|
|
|
|
public class config
|
|
{
|
|
public string DB_NAME { get; set; }
|
|
public string BOT_TOKEN { get; set; }
|
|
public string TAG { get; set; }
|
|
public string CHANNEL_NUMID { get; set; }
|
|
public string ADMIN_NUMID { get; set; }
|
|
public string INSTANCE { get; set; }
|
|
}
|
|
}
|
|
} |