Simplifiy AutoCleanForm
Improving serialization by replacing the message with just the ID
This commit is contained in:
parent
82469cff70
commit
193a4811bf
@ -17,7 +17,7 @@ namespace TelegramBotBase.Form
|
|||||||
public class AutoCleanForm : FormBase
|
public class AutoCleanForm : FormBase
|
||||||
{
|
{
|
||||||
[SaveState]
|
[SaveState]
|
||||||
public List<Message> OldMessages { get; set; }
|
public List<int> OldMessages { get; set; }
|
||||||
|
|
||||||
[SaveState]
|
[SaveState]
|
||||||
public eDeleteMode DeleteMode { get; set; }
|
public eDeleteMode DeleteMode { get; set; }
|
||||||
@ -29,7 +29,7 @@ namespace TelegramBotBase.Form
|
|||||||
|
|
||||||
public AutoCleanForm()
|
public AutoCleanForm()
|
||||||
{
|
{
|
||||||
this.OldMessages = new List<Message>();
|
this.OldMessages = new List<int>();
|
||||||
this.DeleteMode = eDeleteMode.OnEveryCall;
|
this.DeleteMode = eDeleteMode.OnEveryCall;
|
||||||
this.DeleteSide = eDeleteSide.BotOnly;
|
this.DeleteSide = eDeleteSide.BotOnly;
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ namespace TelegramBotBase.Form
|
|||||||
if (this.DeleteSide == eDeleteSide.BotOnly)
|
if (this.DeleteSide == eDeleteSide.BotOnly)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.OldMessages.Add(e.Message);
|
this.OldMessages.Add(e.Message.MessageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Device_MessageSent(object sender, MessageSentEventArgs e)
|
private void Device_MessageSent(object sender, MessageSentEventArgs e)
|
||||||
@ -64,7 +64,7 @@ namespace TelegramBotBase.Form
|
|||||||
if (this.DeleteSide == eDeleteSide.UserOnly)
|
if (this.DeleteSide == eDeleteSide.UserOnly)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.OldMessages.Add(e.Message);
|
this.OldMessages.Add(e.Message.MessageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task PreLoad(MessageResult message)
|
public override async Task PreLoad(MessageResult message)
|
||||||
@ -81,7 +81,17 @@ namespace TelegramBotBase.Form
|
|||||||
/// <param name="Id"></param>
|
/// <param name="Id"></param>
|
||||||
public void AddMessage(Message m)
|
public void AddMessage(Message m)
|
||||||
{
|
{
|
||||||
this.OldMessages.Add(m);
|
this.OldMessages.Add(m.MessageId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds a message to this of removable ones
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Id"></param>
|
||||||
|
public void AddMessage(int messageId)
|
||||||
|
{
|
||||||
|
this.OldMessages.Add(messageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -90,11 +100,7 @@ namespace TelegramBotBase.Form
|
|||||||
/// <param name="Id"></param>
|
/// <param name="Id"></param>
|
||||||
public void LeaveMessage(int Id)
|
public void LeaveMessage(int Id)
|
||||||
{
|
{
|
||||||
var m = this.OldMessages.FirstOrDefault(a => a.MessageId == Id);
|
this.OldMessages.Remove(Id);
|
||||||
if (m == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.OldMessages.Remove(m);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -124,7 +130,7 @@ namespace TelegramBotBase.Form
|
|||||||
{
|
{
|
||||||
while (this.OldMessages.Count > 0)
|
while (this.OldMessages.Count > 0)
|
||||||
{
|
{
|
||||||
if (!await this.Device.DeleteMessage(this.OldMessages[0].MessageId))
|
if (!await this.Device.DeleteMessage(this.OldMessages[0]))
|
||||||
{
|
{
|
||||||
//Message can't be deleted cause it seems not to exist anymore
|
//Message can't be deleted cause it seems not to exist anymore
|
||||||
if (this.OldMessages.Count > 0)
|
if (this.OldMessages.Count > 0)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user