Example #1
0
 private static async Task DelayedActionsAsync()
 {
     while (true)
     {
         if (_toRemove.Count > 0)
         {
             int offset = 0;
             while (_toRemove.Count > 0)
             {
                 var index = _toRemove.Dequeue();
                 _delayedActions.RemoveAt(index - offset);
                 _actionMessages.RemoveAt(index - offset);
                 _actionLasts.RemoveAt(index - offset);
                 _actionModules.RemoveAt(index - offset);
                 offset++;
             }
         }
         for (int i = 0; i < _delayedActions.Count; i++)
         {
             if (_delayedActions[i].MoveNext())
             {
                 _actionLasts[i] = _delayedActions[i].Current;
                 continue;
             }
             else
             {
                 _toRemove.Enqueue(i);
                 await ModuleCommandHandler.HandleResponse(_actionMessages[i], _actionLasts[i], _actionModules[i]);
             }
         }
         await Task.Delay(1000);
     }
 }
Example #2
0
 //private static IEnumerable<string> _commands;
 private async Task MessageCreated(MessageCreateEventArgs msg)
 {
     if ((Channel ?? (Channel = msg.Channel)) != msg.Channel)
     {
         return;
     }
     //Debug.Log(String.Join(" ", _cnext.RegisteredCommands.Select(x => x.Key)));
     if (msg.Author.Id == _client.CurrentUser.Id || msg.Message.MessageType != MessageType.Default)
     {
         return;
     }
     if (Regex.IsMatch(msg.Message.Content, _moduleCommandRegex ?? (_moduleCommandRegex = @"^" + _config.Prefix + @"[1-9][0-9]* .*")))
     {
         await ModuleCommandHandler.HandleMessageAsync(msg);
     } /*else if (msg.Message.Content.StartsWith(_config.Prefix, StringComparison.InvariantCultureIgnoreCase)) {
        * await msg.Message.Reply(Responses.UnrecognizedCommand.FormatThis(msg.Message.Content.Split(' ')[0]));
        * }*/
 }