public RotatingStatusService(BaseSocketClient socket, Queue <string> statuses = null) { StatusValues = statuses ?? new Queue <string>(); Socket = socket; rotationTimer = new Timer(async _ => { if (StatusValues.Count <= 0) { return; } var status = StatusValues.Dequeue(); if (status.EqualsIgnoreCase(Socket.Activity?.Name ?? "")) { return; } StatusValues.Enqueue(status); await Socket.SetGameAsync(await VariableFormatting.FormatStatus(Socket, status)); }, null, Timeout.Infinite, Timeout.Infinite); }
protected override Task ExecuteAsync(CancellationToken stoppingToken) { return(_client.SetGameAsync($"{_botOptions.Value.DefaultCommandPrefix}help | {_webOptions.Value.WebsiteShorthand}")); }
public virtual Task SetGameAsync(string name, string?streamUrl = null, ActivityType type = ActivityType.Playing) { return(_baseSocketClient.SetGameAsync(name, streamUrl, type)); }