Florian Zevedei fb88d15485 Marking V19 GroupForm as obsolete for future updates
- and adding V21 version as well (as in alpha)
2024-10-14 01:43:42 +02:00

118 lines
3.4 KiB
C#

using System;
using System.Threading.Tasks;
using Telegram.Bot.Types.Enums;
using TelegramBotBase.Args;
using TelegramBotBase.Base;
namespace TelegramBotBase.Form;
public class GroupForm : FormBase
{
//Prior V21
[Obsolete("Check Telegram.Bot nuget package changes.")]
public override async Task Load(MessageResult message)
{
switch (message.MessageType)
{
case MessageType.ChatMembersAdded:
await OnMemberChanges(new MemberChangeEventArgs(MessageType.ChatMembersAdded, message,
message.Message.NewChatMembers));
break;
case MessageType.ChatMemberLeft:
await OnMemberChanges(new MemberChangeEventArgs(MessageType.ChatMemberLeft, message,
message.Message.LeftChatMember));
break;
case MessageType.ChatPhotoChanged:
case MessageType.ChatPhotoDeleted:
case MessageType.ChatTitleChanged:
case MessageType.MigratedFromGroup:
case MessageType.MigratedToSupergroup:
case MessageType.MessagePinned:
case MessageType.GroupCreated:
case MessageType.SupergroupCreated:
case MessageType.ChannelCreated:
await OnGroupChanged(new GroupChangedEventArgs(message.MessageType, message));
break;
default:
await OnMessage(message);
break;
}
}
//Past V21
//public override async Task Load(MessageResult message)
//{
// switch (message.MessageType)
// {
// case MessageType.NewChatMembers:
// await OnMemberChanges(new MemberChangeEventArgs(MessageType.NewChatMembers, message,
// message.Message.NewChatMembers));
// break;
// case MessageType.LeftChatMember:
// await OnMemberChanges(new MemberChangeEventArgs(MessageType.LeftChatMember, message,
// message.Message.LeftChatMember));
// break;
// case MessageType.NewChatPhoto:
// case MessageType.DeleteChatPhoto:
// case MessageType.NewChatTitle:
// case MessageType.MigrateFromChatId:
// case MessageType.MigrateToChatId:
// case MessageType.PinnedMessage:
// case MessageType.GroupChatCreated:
// case MessageType.SupergroupChatCreated:
// case MessageType.ChannelChatCreated:
// await OnGroupChanged(new GroupChangedEventArgs(message.MessageType, message));
// break;
// default:
// await OnMessage(message);
// break;
// }
//}
public override async Task Edited(MessageResult message)
{
await OnMessageEdit(message);
}
public virtual Task OnMemberChanges(MemberChangeEventArgs e)
{
return Task.CompletedTask;
}
public virtual Task OnGroupChanged(GroupChangedEventArgs e)
{
return Task.CompletedTask;
}
public virtual Task OnMessage(MessageResult e)
{
return Task.CompletedTask;
}
public virtual Task OnMessageEdit(MessageResult e)
{
return Task.CompletedTask;
}
}