private static void CheckChatMember(UserInfo expectedUser, ChatMemberInfo actualMember) { Assert.Multiple(() => { Assert.AreEqual(expectedUser.Id, actualMember.User.Id); Assert.AreEqual(expectedUser.UserName, actualMember.User.UserName); Assert.AreEqual(expectedUser.FirstName, actualMember.User.FirstName); Assert.AreEqual(expectedUser.LastName, actualMember.User.LastName); Assert.False(actualMember.CanBeEdited); Assert.True(actualMember.CanChangeInfo); Assert.True(actualMember.CanPostMessages); Assert.True(actualMember.CanEditMessages); Assert.True(actualMember.CanDeleteMessages); Assert.True(actualMember.CanInviteUsers); Assert.True(actualMember.CanEditMessages); Assert.True(actualMember.CanRestrictMembers); Assert.False(actualMember.CanPinMessages); Assert.False(actualMember.CanPromoteMembers); Assert.False(actualMember.CanSendMessages); Assert.False(actualMember.CanSendMediaMessages); Assert.False(actualMember.CanSendOtherMessages); Assert.False(actualMember.CanAddWebPagePreviews); }); }
public void GetChatAdministratorTest() { ChatMembersInfoResult chatAdministrators = mTelegramBot.GetChatAdministrators("@telebotTestChannel"); UserInfo user = mTelegramBot.GetsMe().Result; ChatMemberInfo result = chatAdministrators.Result[0]; CheckChatMember(user, result); }
public void GetChatMembersTest() { UserInfo user = mTelegramBot.GetsMe().Result; ChatMemberInfoResult chatMember = mTelegramBot.GetChatMember("@telebotTestChannel", user.Id); ChatMemberInfo result = chatMember.Result; CheckChatMember(user, result); }
internal StateChangeDetails(byte[] data) { using (MemoryStream ms = new MemoryStream(data)) using (BinaryReader br = new BinaryReader(ms)) { ChatterActedOn = br.ReadUInt64(); StateChange = ( EChatMemberStateChange )br.ReadInt32(); ChatterActedBy = br.ReadUInt64(); if (StateChange == EChatMemberStateChange.Entered) { MemberInfo = new ChatMemberInfo(); MemberInfo.ReadFromStream(ms); } } }
internal ChatEnterCallback(MsgClientChatEnter msg, byte[] payload) { ChatID = msg.SteamIdChat; FriendID = msg.SteamIdFriend; ChatRoomType = msg.ChatRoomType; OwnerID = msg.SteamIdOwner; ClanID = msg.SteamIdClan; ChatFlags = msg.ChatFlags; EnterResponse = msg.EnterResponse; NumChatMembers = msg.NumMembers; using (var ms = new MemoryStream(payload)) { // steamclient always attempts to read the chat room name, regardless of the enter response ChatRoomName = ms.ReadNullTermString(Encoding.UTF8); if (EnterResponse != EChatRoomEnterResponse.Success) { // the rest of the payload depends on a successful chat enter return; } var memberList = new List <ChatMemberInfo>(); for (int x = 0; x < NumChatMembers; ++x) { var memberInfo = new ChatMemberInfo(); memberInfo.ReadFromStream(ms); memberList.Add(memberInfo); } ChatMembers = new ReadOnlyCollection <ChatMemberInfo>(memberList); } }
internal StateChangeDetails( byte[] data ) { using ( MemoryStream ms = new MemoryStream( data ) ) using ( BinaryReader br = new BinaryReader( ms ) ) { ChatterActedOn = br.ReadUInt64(); StateChange = ( EChatMemberStateChange )br.ReadInt32(); ChatterActedBy = br.ReadUInt64(); if ( StateChange == EChatMemberStateChange.Entered ) { MemberInfo = new ChatMemberInfo(); MemberInfo.ReadFromStream( ms ); } } }
internal ChatEnterCallback( MsgClientChatEnter msg, byte[] payload ) { ChatID = msg.SteamIdChat; FriendID = msg.SteamIdFriend; ChatRoomType = msg.ChatRoomType; OwnerID = msg.SteamIdOwner; ClanID = msg.SteamIdClan; ChatFlags = msg.ChatFlags; EnterResponse = msg.EnterResponse; NumChatMembers = msg.NumMembers; using ( var ms = new MemoryStream( payload ) ) { // steamclient always attempts to read the chat room name, regardless of the enter response ChatRoomName = ms.ReadNullTermString( Encoding.UTF8 ); if ( EnterResponse != EChatRoomEnterResponse.Success ) { // the rest of the payload depends on a successful chat enter return; } var memberList = new List<ChatMemberInfo>(); for ( int x = 0 ; x < NumChatMembers ; ++x ) { var memberInfo = new ChatMemberInfo(); memberInfo.ReadFromStream( ms ); memberList.Add( memberInfo ); } ChatMembers = new ReadOnlyCollection<ChatMemberInfo>( memberList ); } }
private void Parse(JObject jsonObject) { Ok = jsonObject["ok"].Value <bool>(); Result = new ChatMemberInfo(jsonObject["result"].Value <JObject>()); }
private void Parse(JObject jsonObject) { Ok = jsonObject["ok"].Value <bool>(); Result = ChatMemberInfo.ParseArray(jsonObject["result"].Value <JArray>()); }