namespace RegexBot.Services;
///
/// Base class for services.
///
///
/// Services provide core and shared functionality for this program. Modules are expected to call into services
/// directly or indirectly in order to access bot features.
///
internal abstract class Service {
public RegexbotClient BotClient { get; }
public string Name => GetType().Name;
public Service(RegexbotClient bot) => BotClient = bot;
///
/// Emits a log message.
///
/// The log message to send. Multi-line messages are acceptable.
/// Specify if the log message should be sent to a reporting channel.
protected void Log(string message, bool report = false) => BotClient._svcLogging.DoLog(report, Name, message);
}