118 lines
3.4 KiB
C#
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;
|
|
}
|
|
} |