예제 #1
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);
        }
예제 #2
0
        public async Task <bool> RemoveChannelUser(int channelId, long channelHash, int userId, long userHash, bool kicked)
        {
            await client.ConnectAsync();

            TLRequestKickFromChannel req = new TLRequestKickFromChannel
            {
                channel = new TLInputChannel
                {
                    access_hash = channelHash,
                    channel_id  = channelId
                },
                user_id = new TLInputUser
                {
                    access_hash = userHash,
                    user_id     = userId
                },
                kicked = kicked
            };

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

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
예제 #3
0
        public async Task RemoveUserAsync(TLChannel channel, User user)
        {
            if (!channel.access_hash.HasValue)
            {
                return;
            }
            CheckUser(user);

            var r = new TLRequestKickFromChannel
            {
                channel = new TLInputChannel {
                    channel_id = channel.id, access_hash = channel.access_hash.Value
                },
                user_id = new TLInputUser {
                    user_id = user.Id, access_hash = user.AccessHash.Value
                }, kicked = true
            };

            var result = await _telegramClient.SendRequestAsync <object>(r);
        }
예제 #4
0
        public async Task DeleteUserFromGroupAsync(UserManipulationInChannelOrGroupDto model)
        {
            var user = await GetUserAsync(model.Login);

            var group = await GetGroupAsync(model.Title);

            //generate request of deleting
            var request = new TLRequestKickFromChannel
            {
                Channel = new TLInputChannel
                {
                    ChannelId  = group.Id,
                    AccessHash = group.AccessHash.Value
                },
                UserId = new TLInputUser
                {
                    UserId     = user.Id,
                    AccessHash = user.AccessHash.Value
                },
                Kicked = true
            };

            await client.SendRequestAsync <object>(request);
        }