async Task DoCommand(iCommand command, iMsgData msgData) { if (command.Multithreaded) { Thread t = new Thread(async() => { var d = await command.Evaluate(msgData); if (d) { await command.DoWork(msgData); } } ); t.Start(); } else { var d = await command.Evaluate(msgData); if (d) { await command.DoWork(msgData); } } }
private async Task DoCommands(iMsgData md) { foreach (iCommand command in commands.ToList()) { await DoCommand(command, md); } }
async Task <bool> iCommand.Evaluate(iMsgData message) { AbbybotCommandArgs aca = message as AbbybotCommandArgs; var cmdI = ++aca.commandsTested; bool gonnaRun = await Evaluate(aca); //if (gonnaRun) //Console.WriteLine($"[t{cmdI}]. {Command}"); return(gonnaRun); }
public async Task <List <string> > GetHelp(iMsgData md) { await Reload(); var list = new List <string>(); foreach (var c in commands.ToList()) { if (c.ShowHelp(md)) { list.Add(await c.toHelpString(md)); } } return(await Task.FromResult(list)); }
async Task iCommand.DoWork(iMsgData md) { var aca = md as AbbybotCommandArgs; try { await DoWorkIncrementations(aca); } catch { } try { var cmdW = aca.commandsRun++; //Console.WriteLine($"[c{cmdW}] {Command}"); await DoWork(aca); } catch (Exception e) { Console.WriteLine(e); } }
async Task <bool> iCommand.ShowHelp(iMsgData md) { return(await ShowHelp(md as AbbybotCommandArgs)); }
async Task iCommand.RegenHelpString(iMsgData md) { helpString = await toHelpString(md as AbbybotCommandArgs); }
private async Task bCute(iMsgData md) { await Reload(); await DoCommands(md); }
public void Start(iMsgData md) { bCute(md).GetAwaiter().GetResult(); }