示例#1
0
        public async Task <bool> RemoveChatUser(int chatId, int userId, long accessHash)
        {
            await client.ConnectAsync();

            TLRequestDeleteChatUser req = new TLRequestDeleteChatUser
            {
                chat_id = chatId,
                user_id = new TLInputUser
                {
                    user_id     = userId,
                    access_hash = accessHash
                }
            };

            try
            {
                TLUpdates result = await client.SendRequestAsync <TLUpdates>(req);

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#2
0
        public async Task RemoveUserAsync(Chat chat, User user)
        {
            CheckUser(user);
            TLMethod r;

            if (chat.IsChannel)
            {
                r = new TLRequestKickFromChannel
                {
                    channel = new TLInputChannel {
                        channel_id = chat.Id, access_hash = chat.AccessHash.Value
                    },
                    user_id = new TLInputUser {
                        user_id = user.Id, access_hash = user.AccessHash.Value
                    },
                    kicked = true
                };
            }
            else
            {
                r = new TLRequestDeleteChatUser
                {
                    user_id = new TLInputUser {
                        user_id = user.Id, access_hash = user.AccessHash.Value
                    },
                    chat_id = chat.Id
                };
            }

            await _telegramClient.SendRequestAsync <object>(r);
        }