/// <summary> /// Create instance of module. /// </summary> /// <param name="type">Module type.</param> /// <returns></returns> Task LoadModule(Type type) { return(Task.Run(() => { YModule module = (YModule)Activator.CreateInstance(type); object config = LoadConfig(module).GetAwaiter().GetResult(); module.LoadModule(Client, Bot, config); lock (Modules) Modules.Add(type, module); lock (LoadedModules) AddModule(module); })); }