diff --git a/TelegramBotBase/Args/MessageSentEventArgs.cs b/TelegramBotBase/Args/MessageSentEventArgs.cs
index d096db1..9cfe651 100644
--- a/TelegramBotBase/Args/MessageSentEventArgs.cs
+++ b/TelegramBotBase/Args/MessageSentEventArgs.cs
@@ -7,7 +7,7 @@ using Telegram.Bot.Types;
namespace TelegramBotBase.Args
{
- public class MessageSentEventArgs
+ public class MessageSentEventArgs : EventArgs
{
public int MessageId
{
diff --git a/TelegramBotBase/Controls/Hybrid/MultiView.cs b/TelegramBotBase/Controls/Hybrid/MultiView.cs
index 1f66264..83eb0e6 100644
--- a/TelegramBotBase/Controls/Hybrid/MultiView.cs
+++ b/TelegramBotBase/Controls/Hybrid/MultiView.cs
@@ -50,7 +50,7 @@ namespace TelegramBotBase.Controls.Hybrid
}
- private void Device_MessageSent(object sender, MessageSentEventArgs e)
+ private async Task Device_MessageSent(object sender, MessageSentEventArgs e)
{
if (e.Origin == null || !e.Origin.IsSubclassOf(typeof(MultiView)))
return;
diff --git a/TelegramBotBase/Form/AutoCleanForm.cs b/TelegramBotBase/Form/AutoCleanForm.cs
index 4e6a692..b05938e 100644
--- a/TelegramBotBase/Form/AutoCleanForm.cs
+++ b/TelegramBotBase/Form/AutoCleanForm.cs
@@ -67,7 +67,7 @@ namespace TelegramBotBase.Form
this.OldMessages.Add(e.Message.MessageId);
}
- private void Device_MessageSent(object sender, MessageSentEventArgs e)
+ private async Task Device_MessageSent(object sender, MessageSentEventArgs e)
{
if (this.DeleteSide == eDeleteSide.UserOnly)
return;
diff --git a/TelegramBotBase/Sessions/DeviceSession.cs b/TelegramBotBase/Sessions/DeviceSession.cs
index 059d040..17d52e8 100644
--- a/TelegramBotBase/Sessions/DeviceSession.cs
+++ b/TelegramBotBase/Sessions/DeviceSession.cs
@@ -291,7 +291,8 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendTextMessageAsync(deviceId, text, parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -342,7 +343,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendTextMessageAsync(this.DeviceId, text, parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -380,7 +381,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendTextMessageAsync(this.DeviceId, text, parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -410,7 +411,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendPhotoAsync(this.DeviceId, file, caption: caption, parseMode: parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -440,7 +441,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendVideoAsync(this.DeviceId, file, caption: caption, parseMode: parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -470,7 +471,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendVideoAsync(this.DeviceId, new InputOnlineFile(url), parseMode: parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -505,7 +506,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendVideoAsync(this.DeviceId, fts, parseMode: parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -542,7 +543,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendVideoAsync(this.DeviceId, fts, parseMode: parseMode, replyToMessageId: replyTo, replyMarkup: markup, disableNotification: disableNotification));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -619,7 +620,7 @@ namespace TelegramBotBase.Sessions
var t = API(a => a.SendDocumentAsync(this.DeviceId, document, caption, replyMarkup: markup, disableNotification: disableNotification, replyToMessageId: replyTo));
var o = GetOrigin(new StackTrace());
- OnMessageSent(new MessageSentEventArgs(await t, o));
+ await OnMessageSent(new MessageSentEventArgs(await t, o));
return await t;
}
@@ -882,7 +883,7 @@ namespace TelegramBotBase.Sessions
///
/// Eventhandler for sent messages
///
- public event EventHandler MessageSent
+ public event Base.Async.AsyncEventHandler MessageSent
{
add
{
@@ -895,9 +896,21 @@ namespace TelegramBotBase.Sessions
}
- public void OnMessageSent(MessageSentEventArgs e)
+ public async Task OnMessageSent(MessageSentEventArgs e)
{
- (this.__Events[__evMessageSent] as EventHandler)?.Invoke(this, e);
+ if (e.Message == null)
+ return;
+
+ var handler = this.__Events[__evMessageSent]?.GetInvocationList().Cast>();
+ if (handler == null)
+ return;
+
+ foreach (var h in handler)
+ {
+ await Base.Async.InvokeAllAsync(h, this, e);
+ }
+
+ //(this.__Events[__evMessageSent] as EventHandler)?.Invoke(this, e);
}
///