AutoCleanForm detect only is active form
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 37s
build nuget workflow for TelegramBotBase project / Build-TelegramBotBase (x64, linux) (push) Successful in 37s
This commit is contained in:
@@ -24,7 +24,7 @@ public class AutoCleanForm : FormBase
|
||||
DeleteMode = EDeleteMode.OnEveryCall;
|
||||
DeleteSide = EDeleteSide.BotOnly;
|
||||
|
||||
Init += AutoCleanForm_Init;
|
||||
Opened += AutoCleanForm_Init;
|
||||
|
||||
Closed += AutoCleanForm_Closed;
|
||||
}
|
||||
@@ -35,7 +35,7 @@ public class AutoCleanForm : FormBase
|
||||
|
||||
[SaveState] public EDeleteSide DeleteSide { get; set; }
|
||||
|
||||
private Task AutoCleanForm_Init(object sender, InitEventArgs e)
|
||||
private Task AutoCleanForm_Init(object sender, EventArgs e)
|
||||
{
|
||||
if (Device == null)
|
||||
{
|
||||
@@ -70,7 +70,8 @@ public class AutoCleanForm : FormBase
|
||||
|
||||
private Task Device_MessageSent(object sender, MessageSentEventArgs e)
|
||||
{
|
||||
if (DeleteSide == EDeleteSide.UserOnly)
|
||||
if (DeleteSide == EDeleteSide.UserOnly
|
||||
|| Device.ActiveForm != this)
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
@@ -137,6 +138,12 @@ public class AutoCleanForm : FormBase
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
Device.MessageSent -= Device_MessageSent;
|
||||
|
||||
Device.MessageReceived -= Device_MessageReceived;
|
||||
|
||||
Device.MessageDeleted -= Device_MessageDeleted;
|
||||
|
||||
MessageCleanup().Wait();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user