diff --git a/TelegramBotBase/Builder/BotBaseBuilder.cs b/TelegramBotBase/Builder/BotBaseBuilder.cs
index bf44005..9a021d7 100644
--- a/TelegramBotBase/Builder/BotBaseBuilder.cs
+++ b/TelegramBotBase/Builder/BotBaseBuilder.cs
@@ -54,12 +54,9 @@ namespace TelegramBotBase.Builder
return this;
}
- public IStartFormSelectionStage CustomMessageLoop(Type messageLoopClass)
+ public IStartFormSelectionStage CustomMessageLoop(IMessageLoopFactory messageLoopClass)
{
- if (messageLoopClass.IsSubclassOf(typeof(IMessageLoopFactory)))
- throw new ArgumentException($"Not a subclass of {nameof(IMessageLoopFactory)}");
-
- _messageloopfactory = messageLoopClass.GetConstructor(new Type[] { })?.Invoke(new object[] { }) as IMessageLoopFactory;
+ _messageloopfactory = messageLoopClass;
return this;
}
diff --git a/TelegramBotBase/Builder/Interfaces/IMessageLoopSelectionStage.cs b/TelegramBotBase/Builder/Interfaces/IMessageLoopSelectionStage.cs
index 125945e..02cf87e 100644
--- a/TelegramBotBase/Builder/Interfaces/IMessageLoopSelectionStage.cs
+++ b/TelegramBotBase/Builder/Interfaces/IMessageLoopSelectionStage.cs
@@ -19,9 +19,9 @@ namespace TelegramBotBase.Builder.Interfaces
///
/// Chooses a custom message loop.
///
- ///
+ ///
///
- IStartFormSelectionStage CustomMessageLoop(Type startFormClass);
+ IStartFormSelectionStage CustomMessageLoop(IMessageLoopFactory startFormClass);
///