using LittleShop.DTOs; namespace LittleShop.Services; /// /// Service for discovering and configuring remote TeleBot instances /// public interface IBotDiscoveryService { /// /// Probe a remote TeleBot instance to discover its status /// Task ProbeRemoteBotAsync(string ipAddress, int port); /// /// Initialize a remote TeleBot instance with a BotKey /// Task InitializeRemoteBotAsync(Guid botId, string ipAddress, int port); /// /// Push configuration (bot token and settings) to a remote TeleBot instance /// Task PushConfigurationAsync(Guid botId, string botToken, Dictionary? settings = null); /// /// Test basic connectivity to a remote address /// Task TestConnectivityAsync(string ipAddress, int port); /// /// Get the status of a remote TeleBot instance /// Task GetRemoteStatusAsync(string ipAddress, int port, string botKey); /// /// Control a remote TeleBot instance (start/stop/restart) /// /// The bot ID in LittleShop /// Action to perform: "start", "stop", or "restart" Task ControlBotAsync(Guid botId, string action); }