Exemplo n.º 1
0
        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);
            });
        }
Exemplo n.º 2
0
        public void GetChatAdministratorTest()
        {
            ChatMembersInfoResult chatAdministrators = mTelegramBot.GetChatAdministrators("@telebotTestChannel");

            UserInfo       user   = mTelegramBot.GetsMe().Result;
            ChatMemberInfo result = chatAdministrators.Result[0];

            CheckChatMember(user, result);
        }
Exemplo n.º 3
0
        public void GetChatMembersTest()
        {
            UserInfo user = mTelegramBot.GetsMe().Result;

            ChatMemberInfoResult chatMember = mTelegramBot.GetChatMember("@telebotTestChannel", user.Id);

            ChatMemberInfo result = chatMember.Result;

            CheckChatMember(user, result);
        }
Exemplo n.º 4
0
                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);
                            }
                        }
                }
Exemplo n.º 5
0
            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);
                }
            }
Exemplo n.º 6
0
                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 );
                        }
                    }
                }
Exemplo n.º 7
0
            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 );
                }
            }
Exemplo n.º 8
0
 private void Parse(JObject jsonObject)
 {
     Ok     = jsonObject["ok"].Value <bool>();
     Result = new ChatMemberInfo(jsonObject["result"].Value <JObject>());
 }
Exemplo n.º 9
0
 private void Parse(JObject jsonObject)
 {
     Ok     = jsonObject["ok"].Value <bool>();
     Result = ChatMemberInfo.ParseArray(jsonObject["result"].Value <JArray>());
 }