Esempio n. 1
0
        private async Task SendResponse(CompiledRule rule, ISocketMessageChannel channel)
        {
            var msg = rule.GetRandomMessage();

            if (msg == null)
            {
                return;
            }

            // looks as if the bot is typing
            var isTypingState = channel.EnterTypingState();
            // calculate some average typing speed
            // float kph = 15000; // 15k keystrokes per hour
            // float kpm = kph / 60; // keystrokes per minute
            // float kps = kpm / 60; // keystrokes per second.
            float keysPerSec = 6.0f;
            float timeToWait = (1f / keysPerSec) * msg.Length;

            await Task.Delay(TimeSpan.FromSeconds(timeToWait));

            isTypingState.Dispose();
            msg = placeholderHandler.Replace(msg, this);
            await channel.SendMessageAsync(msg);
        }