public static async Task BotOnChatMember(ITelegramBotClient botClient, ChatMemberUpdated update) { Log(false, "ChatMemberUPDATE: " + JsonConvert.SerializeObject(update)); if (update.OldChatMember != null && update.OldChatMember.Status == ChatMemberStatus.Left || update.NewChatMember != null && update.NewChatMember.Status == ChatMemberStatus.Left) { await SendShockedGif(update.Chat); } }
public async Task Should_Receive_Chat_Member_Updated() { await _fixture.SendTestInstructionsAsync( $"Chat admin should kick @{_classFixture.RegularMemberUserName.Replace("_", @"\_")}." ); Update update = (await _fixture.UpdateReceiver .GetUpdatesAsync( u => u.ChatMember?.Chat.Id == _fixture.SupergroupChat.Id, updateTypes: new [] { UpdateType.ChatMember } ).ConfigureAwait(false) ).Single(); await _fixture.UpdateReceiver.DiscardNewUpdatesAsync(); ChatMemberUpdated chatMemberUpdated = update.ChatMember; Assert.True(chatMemberUpdated.NewChatMember.Status == ChatMemberStatus.Kicked); Assert.Equal(_classFixture.RegularMemberUserId, chatMemberUpdated.NewChatMember.User.Id); }